Skip to content

Commit 52ab4af

Browse files
committed
test working on rikenfe
1 parent a9e3c9b commit 52ab4af

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

src/ibex_bluesky_core/plans/muons/two_dae_scan.py

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
"""Muon scan that uses two DAEs to scan a magnet."""
22

33
from collections.abc import Generator
4+
from pathlib import Path
45

56
import bluesky.plans as bp
67
import matplotlib.pyplot as plt
78
from bluesky.callbacks import LiveFitPlot, LiveTable
89
from bluesky.preprocessors import subs_decorator
910
from bluesky.utils import Msg
1011
from ibex_bluesky_core.callbacks import LiveFitLogger
12+
from ibex_bluesky_core.plans import set_num_periods
1113
from ophyd_async.plan_stubs import ensure_connected
1214

1315
from ibex_bluesky_core.callbacks.fitting import LiveFit
@@ -17,11 +19,12 @@
1719
from ibex_bluesky_core.devices.simpledae import SimpleDae
1820
from ibex_bluesky_core.devices.simpledae.controllers import (
1921
RunPerPointController,
22+
PeriodPerPointController,
2023
)
2124
from ibex_bluesky_core.devices.simpledae.reducers import (
2225
PeriodGoodFramesNormalizer,
2326
)
24-
from ibex_bluesky_core.devices.simpledae.waiters import GoodFramesWaiter
27+
from ibex_bluesky_core.devices.simpledae.waiters import GoodFramesWaiter, PeriodGoodFramesWaiter
2528
from ibex_bluesky_core.plan_stubs import call_qt_aware
2629

2730
from ibex_bluesky_core.callbacks.file_logger import HumanReadableFileCallback
@@ -41,7 +44,7 @@ def two_dae_scan(
4144
magnet_settle_time=1,
4245
dae_1_prefix="IN:ARGUS:",
4346
dae_2_prefix="IN:CHRONUS:",
44-
spectra_total_1=96,
47+
spectra_total_1=192,
4548
spectra_total_2=32,
4649
) -> Generator[Msg, None, None]:
4750
"""Scan a block using two DAEs and two magnets."""
@@ -65,8 +68,8 @@ def check_within_tolerance(setpoint: float, actual: float) -> bool:
6568
),
6669
)
6770

68-
controller_1 = RunPerPointController(save_run=save_run)
69-
waiter_1 = GoodFramesWaiter(frames)
71+
controller_1 = PeriodPerPointController(save_run=save_run)
72+
waiter_1 = PeriodGoodFramesWaiter(frames)
7073
reducer_1 = PeriodGoodFramesNormalizer(
7174
prefix=dae_1_prefix,
7275
detector_spectra=[i for i in range(1, spectra_total_1 + 1)],
@@ -80,8 +83,8 @@ def check_within_tolerance(setpoint: float, actual: float) -> bool:
8083
name="dae_1",
8184
)
8285

83-
controller_2 = RunPerPointController(save_run=save_run)
84-
waiter_2 = GoodFramesWaiter(frames)
86+
controller_2 = PeriodPerPointController(save_run=save_run)
87+
waiter_2 = PeriodGoodFramesWaiter(frames)
8588
reducer_2 = PeriodGoodFramesNormalizer(
8689
prefix=dae_2_prefix,
8790
detector_spectra=[i for i in range(1, spectra_total_2 + 1)],
@@ -112,6 +115,9 @@ def check_within_tolerance(setpoint: float, actual: float) -> bool:
112115

113116
yield from ensure_connected(magnet_1, magnet_2, dae_1, dae_2, force_reconnect=True)
114117

118+
yield from set_num_periods(dae_1, num)
119+
yield from set_num_periods(dae_2, num)
120+
115121
@subs_decorator(
116122
[
117123
LiveFitPlot(livefit=lf_1, ax=ax),
@@ -122,6 +128,7 @@ def check_within_tolerance(setpoint: float, actual: float) -> bool:
122128
marker="x",
123129
linestyle="none",
124130
ax=ax,
131+
legend_keys=["argus"],
125132
yerr=reducer_1.intensity_stddev.name,
126133
),
127134
LivePlot(
@@ -130,57 +137,57 @@ def check_within_tolerance(setpoint: float, actual: float) -> bool:
130137
marker="x",
131138
linestyle="none",
132139
ax=ax,
140+
legend_keys=["chronus"],
133141
yerr=reducer_2.intensity_stddev.name,
134142
),
135143
LiveTable(
136144
[
137145
magnet_1.name,
138146
magnet_2.name,
139-
controller_1.run_number.name,
140147
reducer_1.intensity.name,
141148
reducer_1.intensity_stddev.name,
142-
reducer_1.det_counts.name,
143-
reducer_1.det_counts_stddev.name,
144-
dae_1.good_frames.name,
145-
controller_2.run_number.name,
146149
reducer_2.intensity.name,
147150
reducer_2.intensity_stddev.name,
148-
reducer_2.det_counts.name,
149-
reducer_2.det_counts_stddev.name,
150-
dae_2.good_frames.name,
151151
]
152152
),
153153
HumanReadableFileCallback(
154154
fields=[
155155
magnet_1.name,
156156
magnet_2.name,
157-
controller_1.run_number.name,
158157
reducer_1.intensity.name,
159158
reducer_1.intensity_stddev.name,
160-
reducer_1.det_counts.name,
161-
reducer_1.det_counts_stddev.name,
162-
dae_1.good_frames.name,
163-
controller_2.run_number.name,
164159
reducer_2.intensity.name,
165160
reducer_2.intensity_stddev.name,
166-
reducer_2.det_counts.name,
167-
reducer_2.det_counts_stddev.name,
168-
dae_2.good_frames.name,
169-
]
161+
],
162+
output_dir=Path("//isis.cclrc.ac.uk/inst$")
163+
/ "NDXARGUS"
164+
/ "user"
165+
/ "TEST"
166+
/ "scans",
170167
),
171168
LiveFitLogger(
172169
lf_1,
173170
x=magnet_1.name,
174171
y=reducer_1.intensity.name,
175172
yerr=reducer_1.intensity_stddev.name,
176173
postfix="lf_1",
174+
output_dir=Path("//isis.cclrc.ac.uk/inst$")
175+
/ "NDXARGUS"
176+
/ "user"
177+
/ "TEST"
178+
/ "scans",
177179
),
178180
LiveFitLogger(
179181
lf_2,
180182
x=magnet_1.name,
181183
y=reducer_2.intensity.name,
182184
yerr=reducer_2.intensity_stddev.name,
183185
postfix="lf_2",
186+
output_dir=Path("//isis.cclrc.ac.uk/inst$")
187+
/ "NDXARGUS"
188+
/ "user"
189+
/ "TEST"
190+
/ "scans",
184191
),
185192
]
186193
)

0 commit comments

Comments
 (0)