ophyd_async.fastcs.jungfrau
#
Package Contents#
Classes#
Ophyd-async implementation of a Jungfrau Detector. |
|
All members should exist in the Backend, and there will be no extras. |
|
Detector logic for arming and disarming the detector. |
|
Contains signals for handling IO on the Jungfrau detector. |
|
All members should exist in the Backend, and there will be no extras. |
|
All members should exist in the Backend, and there will be no extras. |
|
All members should exist in the Backend, and there will be no extras. |
|
All members should exist in the Backend, and there will be no extras. |
Functions#
Create safe Jungfrau TriggerInfo for external triggering. |
|
Create safe Jungfrau TriggerInfo for internal triggering. |
|
Create safe Jungfrau TriggerInfo for pedestal triggering. |
API#
- class ophyd_async.fastcs.jungfrau.Jungfrau(prefix: str, path_provider: PathProvider, drv_suffix: str, hdf_suffix: str, odin_nodes: int, name='')[source]#
Bases:
ophyd_async.core.StandardDetector
[ophyd_async.fastcs.jungfrau._controller.JungfrauController
,ophyd_async.epics.odin.OdinWriter
]Ophyd-async implementation of a Jungfrau Detector.
- class ophyd_async.fastcs.jungfrau.DetectorStatus[source]#
Bases:
ophyd_async.core.StrictEnum
All members should exist in the Backend, and there will be no extras.
- IDLE#
‘Idle’
- ERROR#
‘Error’
- WAITING#
‘Waiting’
- RUN_FINISHED#
‘RunFinished’
- TRANSMITTING#
‘Transmitting’
- RUNNING#
‘Running’
- STOPPED#
‘Stopped’
- ophyd_async.fastcs.jungfrau.create_jungfrau_external_triggering_info(total_triggers: PositiveInt, exposure_time_s: float) TriggerInfo [source]#
Create safe Jungfrau TriggerInfo for external triggering.
Uses parameters which more closely-align with Jungfrau terminology to create TriggerInfo. This device currently only supports one frame per trigger when being externally triggered, but support for this can be added if needed
Args: total_triggers: Total external triggers expected before ending acquisition. exposure_time_s: How long to expose the detector for each of its frames.
Returns:
TriggerInfo
- ophyd_async.fastcs.jungfrau.create_jungfrau_internal_triggering_info(number_of_frames: PositiveInt, exposure_time_s: float) TriggerInfo [source]#
Create safe Jungfrau TriggerInfo for internal triggering.
Uses parameters which more closely-align with Jungfrau terminology to create TriggerInfo.
Args: number_of_frames: Total frames taken after starting acquisition. exposure_time_s: How long to expose the detector for each of its frames.
Returns:
TriggerInfo
- ophyd_async.fastcs.jungfrau.create_jungfrau_pedestal_triggering_info(exposure_time_s: float, pedestal_frames: PositiveInt, pedestal_loops: PositiveInt)[source]#
Create safe Jungfrau TriggerInfo for pedestal triggering.
Uses parameters which more closely-align with Jungfrau terminology to create TriggerInfo.
NOTE: To trigger the jungfrau in pedestal mode, you must first set the jungfrau acquisition_type signal to AcquisitionType.PEDESTAL!
Args: exposure_time_s: How long to expose the detector for each of its frames. pedestal_frames: Number of frames taken once triggering begins pedestal_loops: Number of repeats of the pedestal scan before detector disarms.
Returns:
TriggerInfo
- class ophyd_async.fastcs.jungfrau.JungfrauController(driver: JungfrauDriverIO)[source]#
Bases:
ophyd_async.core.DetectorController
Detector logic for arming and disarming the detector.
- get_deadtime(exposure: float | None = None) float [source]#
Get state-independent deadtime.
For a given exposure, what is the safest minimum time between exposures that can be determined without reading signals.
- async prepare(trigger_info: TriggerInfo) None [source]#
Do all necessary steps to prepare the detector for triggers.
- Parameters:
trigger_info – The sort of triggers to expect.
- class ophyd_async.fastcs.jungfrau.JungfrauDriverIO(uri: str, name: str = '')[source]#
Bases:
ophyd_async.core.Device
Contains signals for handling IO on the Jungfrau detector.
- pedestal_mode_state: SignalRW[PedestalMode]#
None
- trigger_mode: SignalRW[JungfrauTriggerMode]#
None
- detector_status: SignalR[DetectorStatus]#
None
- class ophyd_async.fastcs.jungfrau.JungfrauTriggerMode[source]#
Bases:
ophyd_async.core.StrictEnum
All members should exist in the Backend, and there will be no extras.
- INTERNAL#
‘Internal’
- EXTERNAL#
‘External’
- class ophyd_async.fastcs.jungfrau.AcquisitionType[source]#
Bases:
ophyd_async.core.StrictEnum
All members should exist in the Backend, and there will be no extras.
- STANDARD#
‘Standard’
- PEDESTAL#
‘Pedestal’
- class ophyd_async.fastcs.jungfrau.GainMode[source]#
Bases:
ophyd_async.core.StrictEnum
All members should exist in the Backend, and there will be no extras.
- DYNAMIC#
‘Dynamic’
- FORCE_SWITCH_G1#
‘ForceSwitchG1’
- FORCE_SWITCH_G2#
‘ForceSwitchG2’
- FIX_G1#
‘FixG1’
- FIX_G2#
‘FixG2’
- FIX_G0#
‘FixG0’
- class ophyd_async.fastcs.jungfrau.PedestalMode[source]#
Bases:
ophyd_async.core.StrictEnum
All members should exist in the Backend, and there will be no extras.
- ON#
‘On’
- OFF#
‘Off’