ibex_bluesky_core.devices.simpledae.strategies

Base classes for DAE strategies.

Members

Controller

Controller specifies how DAE runs should be started & stopped.

ProvidesExtraReadables

Strategies may specify interesting DAE signals using this method.

Reducer

Reducer specifies any post-processing which needs to be done after a scan point completes.

Waiter

Waiter specifies how the dae will wait for a scan point to complete counting.

class ibex_bluesky_core.devices.simpledae.strategies.Controller[source]

Bases: ProvidesExtraReadables

Controller specifies how DAE runs should be started & stopped.

async setup(dae: SimpleDae) None[source]

Pre-scan setup.

async start_counting(dae: SimpleDae) None[source]

Start counting for a single scan point.

async stop_counting(dae: SimpleDae) None[source]

Stop counting for a single scan point.

async teardown(dae: SimpleDae) None[source]

Post-scan teardown.

class ibex_bluesky_core.devices.simpledae.strategies.ProvidesExtraReadables[source]

Bases: object

Strategies may specify interesting DAE signals using this method.

Those signals will then be added to read() and describe() on the top-level SimpleDae object.

additional_readable_signals(dae: SimpleDae) list[Device][source]

Define signals that this strategy considers important.

These will be added to the dae’s default-read signals and made available by read() on the DAE object.

class ibex_bluesky_core.devices.simpledae.strategies.Reducer[source]

Bases: ProvidesExtraReadables

Reducer specifies any post-processing which needs to be done after a scan point completes.

async reduce_data(dae: SimpleDae) None[source]

Triggers a reduction of DAE data after a scan point has been measured.

Data that should be published by this reducer should be added as soft signals, in a class which both implements this protocol and derives from StandardReadable.

class ibex_bluesky_core.devices.simpledae.strategies.Waiter[source]

Bases: ProvidesExtraReadables

Waiter specifies how the dae will wait for a scan point to complete counting.

async wait(dae: SimpleDae) None[source]

Wait for the acquisition to complete.