ophyd_async.epics.eiger#

Package Contents#

Classes#

EigerDetector

Ophyd-async implementation of an Eiger Detector.

EigerController

Controller for the Eiger detector.

EigerDriverIO

Contains signals for handling IO on the Eiger detector.

EigerTriggerInfo

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

API#

class ophyd_async.epics.eiger.EigerDetector(prefix: str, path_provider: PathProvider, drv_suffix='-EA-EIGER-01:', hdf_suffix='-EA-ODIN-01:', 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.epics.eiger.EigerController(driver: EigerDriverIO)[source]#

Bases: ophyd_async.core.DetectorController

Controller for the Eiger 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]#

Change photon energy if outside tolerance.

It takes some time so don’t do it unless it is outside tolerance.

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.epics.eiger.EigerDriverIO(prefix: str, name: str = '')[source]#

Bases: ophyd_async.core.Device

Contains signals for handling IO on the Eiger detector.

class ophyd_async.epics.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(…)’