Skip to content

Commit 20427b3

Browse files
committed
Replace Frame0 with Psd Monitor
1 parent 3e1a906 commit 20427b3

File tree

5 files changed

+26
-29
lines changed

5 files changed

+26
-29
lines changed

docs/user-guide/bifrost/bifrost-reduction.ipynb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
" simulated_elastic_incoherent_with_phonon,\n",
2828
" tof_lookup_table_simulation\n",
2929
")\n",
30+
"from ess.bifrost.types import *\n",
3031
"from ess.spectroscopy.types import *"
3132
]
3233
},

src/ess/bifrost/types.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@
66
This module supplements :mod:`ess.spectroscopy.types` with BIFROST-specific types.
77
"""
88

9+
from typing import NewType
10+
911
import sciline
1012
import scipp as sc
1113

14+
from ess.reduce.nexus import types as reduce_t
1215
from ess.spectroscopy.types import RunType
1316

17+
SampleRun = reduce_t.SampleRun
18+
VanadiumRun = reduce_t.VanadiumRun
19+
20+
FrameMonitor1 = reduce_t.FrameMonitor1
21+
FrameMonitor2 = reduce_t.FrameMonitor2
22+
FrameMonitor3 = reduce_t.FrameMonitor3
23+
PsdMonitor = NewType('PsdMonitor', int)
24+
1425

1526
class ArcNumber(sciline.Scope[RunType, sc.Variable], sc.Variable): ...
1627

src/ess/bifrost/workflow.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,23 @@
1717
from ess.spectroscopy.types import (
1818
BeamlineWithSpectrometerCoords,
1919
DetectorData,
20-
FrameMonitor0,
21-
FrameMonitor1,
22-
FrameMonitor2,
23-
FrameMonitor3,
2420
NeXusData,
2521
NeXusDetectorName,
2622
NeXusMonitorName,
2723
PulsePeriod,
28-
SampleRun,
2924
)
3025

3126
from .cutting import providers as cutting_providers
3227
from .detector import merge_triplets
3328
from .detector import providers as detector_providers
3429
from .io import mcstas, nexus
30+
from .types import (
31+
FrameMonitor1,
32+
FrameMonitor2,
33+
FrameMonitor3,
34+
PsdMonitor,
35+
SampleRun,
36+
)
3537

3638

3739
def simulation_default_parameters() -> dict[type, Any]:
@@ -40,6 +42,7 @@ def simulation_default_parameters() -> dict[type, Any]:
4042
NeXusMonitorName[FrameMonitor1]: '090_frame_1',
4143
NeXusMonitorName[FrameMonitor2]: '097_frame_2',
4244
NeXusMonitorName[FrameMonitor3]: '110_frame_3',
45+
NeXusMonitorName[PsdMonitor]: '111_psd0_monitor',
4346
PulsePeriod: 1.0 / sc.scalar(14.0, unit="Hz"),
4447
}
4548

@@ -73,7 +76,7 @@ def BifrostSimulationWorkflow(
7376
"""
7477
workflow = TofWorkflow(
7578
run_types=(SampleRun,),
76-
monitor_types=(FrameMonitor0, FrameMonitor1, FrameMonitor2, FrameMonitor3),
79+
monitor_types=(FrameMonitor1, FrameMonitor2, FrameMonitor3),
7780
)
7881
for provider in _SIMULATION_PROVIDERS:
7982
workflow.insert(provider)
@@ -95,7 +98,7 @@ def BifrostWorkflow(
9598
"""Data reduction workflow for BIFROST."""
9699
workflow = TofWorkflow(
97100
run_types=(SampleRun,),
98-
monitor_types=(FrameMonitor0, FrameMonitor1, FrameMonitor2, FrameMonitor3),
101+
monitor_types=(FrameMonitor1, FrameMonitor2, FrameMonitor3, PsdMonitor),
99102
)
100103
# TODO change to use non-simulation providers
101104
for provider in _SIMULATION_PROVIDERS:

src/ess/spectroscopy/types.py

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
"""Domain types for spectroscopy."""
55

6-
from typing import Any, NewType, TypeVar
6+
from typing import Any, NewType
77

88
import sciline
99
import scipp as sc
@@ -20,6 +20,7 @@
2020
GravityVector = reduce_t.GravityVector
2121
Filename = reduce_t.Filename
2222
MonitorData = reduce_t.MonitorData
23+
MonitorType = reduce_t.MonitorType
2324
NeXusClass = reduce_t.NeXusClass
2425
NeXusComponentLocationSpec = reduce_t.NeXusComponentLocationSpec
2526
NeXusComponent = reduce_t.NeXusComponent
@@ -30,27 +31,9 @@
3031
NeXusTransformation = reduce_t.NeXusTransformation
3132
Position = reduce_t.Position
3233
PreopenNeXusFile = reduce_t.PreopenNeXusFile
34+
RunType = reduce_t.RunType
3335

3436

35-
SampleRun = reduce_t.SampleRun
36-
VanadiumRun = reduce_t.VanadiumRun
37-
38-
FrameMonitor0 = reduce_t.FrameMonitor0
39-
FrameMonitor1 = reduce_t.FrameMonitor1
40-
FrameMonitor2 = reduce_t.FrameMonitor2
41-
FrameMonitor3 = reduce_t.FrameMonitor3
42-
43-
# Type vars
44-
45-
RunType = TypeVar("RunType", SampleRun, VanadiumRun)
46-
MonitorType = TypeVar(
47-
"MonitorType",
48-
FrameMonitor0,
49-
FrameMonitor1,
50-
FrameMonitor2,
51-
FrameMonitor3,
52-
)
53-
5437
# Time-of-flight types
5538

5639
DetectorTofData = time_of_flight.DetectorTofData

tests/bifrost/workflow_test.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@
1212
simulated_elastic_incoherent_with_phonon,
1313
tof_lookup_table_simulation,
1414
)
15+
from ess.bifrost.types import FrameMonitor3, SampleRun
1516
from ess.spectroscopy.types import (
1617
DetectorData,
1718
EnergyData,
1819
Filename,
19-
FrameMonitor3,
2020
MonitorData,
2121
NeXusDetectorName,
22-
SampleRun,
2322
TimeOfFlightLookupTable,
2423
WavelengthMonitor,
2524
)

0 commit comments

Comments
 (0)