ophyd_async.fastcs.eiger#

Package Contents#

Classes#

EigerDetector

Ophyd-async implementation of an Eiger Detector.

EigerController

Detector logic for arming and disarming the detector.

EigerDriverIO

Contains signals for handling IO on the Eiger detector.

EigerTriggerInfo

Minimal set of information required to setup triggering on a detector.

EigerDetectorIO

Common base class for all Ophyd Async Devices.

EigerMonitorIO

Common base class for all Ophyd Async Devices.

EigerStreamIO

Common base class for all Ophyd Async Devices.

API#

class ophyd_async.fastcs.eiger.EigerDetector(prefix: str, path_provider: PathProvider, drv_suffix='-EA-EIGER-01:', hdf_suffix='-EA-EIGER-01:OD:', name='')[source]#

Bases: ophyd_async.core.StandardDetector

Ophyd-async implementation of an Eiger Detector.

async prepare(value: EigerTriggerInfo) None[source]#

Arm detector.

Prepare the detector with trigger information. This is determined at and passed in from the plan level.

Parameters:

value – TriggerInfo describing how to trigger the detector

class ophyd_async.fastcs.eiger.EigerController(driver: EigerDriverIO)[source]#

Bases: ophyd_async.core.DetectorController

Detector logic for arming and disarming the detector.

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

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

async set_energy(energy: float, tolerance: float = 0.1)[source]#

Set photon energy.

async prepare(trigger_info: TriggerInfo)[source]#

Do all necessary steps to prepare the detector for triggers.

Parameters:

trigger_info – The sort of triggers to expect.

async arm()[source]#

Arm the detector.

async wait_for_idle()[source]#

Wait on the internal _arm_status and wait for it to get disarmed/idle.

async disarm()[source]#

Disarm the detector, return detector to an idle state.

class ophyd_async.fastcs.eiger.EigerDriverIO(uri: str, name: str = '')[source]#

Bases: ophyd_async.core.Device

Contains signals for handling IO on the Eiger detector.

stale_parameters: SignalR[bool]#

None

monitor: EigerMonitorIO#

None

stream: EigerStreamIO#

None

detector: EigerDetectorIO#

None

class ophyd_async.fastcs.eiger.EigerTriggerInfo(/, **data: ~typing.Any)[source]#

Bases: ophyd_async.core.TriggerInfo

Minimal set of information required to setup triggering on a detector.

energy_ev: float#

‘Field(…)’

class ophyd_async.fastcs.eiger.EigerDetectorIO(name: str = '', connector: DeviceConnector | None = None)[source]#

Bases: ophyd_async.core.Device

Common base class for all Ophyd Async Devices.

Parameters:
  • name – Optional name of the Device

  • connector – Optional DeviceConnector instance to use at connect()

bit_depth_readout: SignalR[int]#

None

state: SignalR[str]#

None

count_time: SignalRW[float]#

None

frame_time: SignalRW[float]#

None

nimages: SignalRW[int]#

None

nexpi: SignalRW[int]#

None

trigger_mode: SignalRW[str]#

None

roi_mode: SignalRW[str]#

None

photon_energy: SignalRW[float]#

None

beam_center_x: SignalRW[float]#

None

beam_center_y: SignalRW[float]#

None

detector_distance: SignalRW[float]#

None

omega_start: SignalRW[float]#

None

omega_increment: SignalRW[float]#

None

arm: SignalX#

None

disarm: SignalX#

None

class ophyd_async.fastcs.eiger.EigerMonitorIO(name: str = '', connector: DeviceConnector | None = None)[source]#

Bases: ophyd_async.core.Device

Common base class for all Ophyd Async Devices.

Parameters:
  • name – Optional name of the Device

  • connector – Optional DeviceConnector instance to use at connect()

class ophyd_async.fastcs.eiger.EigerStreamIO(name: str = '', connector: DeviceConnector | None = None)[source]#

Bases: ophyd_async.core.Device

Common base class for all Ophyd Async Devices.

Parameters:
  • name – Optional name of the Device

  • connector – Optional DeviceConnector instance to use at connect()