Note

Ophyd async is included on a provisional basis until the v1.0 release and may change API on minor release numbers before then

ophyd_async.core.DetectorControl#

class ophyd_async.core.DetectorControl[source]#

Bases: ABC

Classes implementing this interface should hold the logic for arming and disarming a detector

Methods

arm

Arm the detector

disarm

Disarm the detector, return detector to an idle state

get_deadtime

For a given exposure, how long should the time between exposures be

prepare

Do all necessary steps to prepare the detector for triggers.

wait_for_idle

This will wait on the internal _arm_status and wait for it to get disarmed/idle

abstract get_deadtime(exposure: float | None) float[source]#

For a given exposure, how long should the time between exposures be

abstract async prepare(trigger_info: TriggerInfo)[source]#

Do all necessary steps to prepare the detector for triggers.

Args:
trigger_info: This is a Pydantic model which contains

number Expected number of frames. trigger Type of trigger for which to prepare the detector. Defaults to DetectorTrigger.internal. livetime Livetime / Exposure time with which to set up the detector. Defaults to None if not applicable or the detector is expected to use its previously-set exposure time. deadtime Defaults to None. This is the minimum deadtime between triggers. multiplier The number of triggers grouped into a single StreamDatum index.

abstract async arm() None[source]#

Arm the detector

abstract async wait_for_idle()[source]#

This will wait on the internal _arm_status and wait for it to get disarmed/idle

abstract async disarm()[source]#

Disarm the detector, return detector to an idle state