Source code for ophyd_async.fastcs.eiger._detector

from ophyd_async.core import PathProvider, SignalR, StandardDetector
from ophyd_async.fastcs import odin
from ophyd_async.fastcs.core import fastcs_connector

from ._arm_logic import EigerArmLogic
from ._io import EigerDetectorIO, EigerMonitorIO, EigerStreamIO
from ._trigger_logic import EigerTriggerLogic


[docs] class EigerDetector(StandardDetector): """Ophyd-async implementation of an Eiger Detector.""" stale_parameters: SignalR[bool] monitor: EigerMonitorIO stream: EigerStreamIO detector: EigerDetectorIO od: odin.OdinIO def __init__( self, prefix: str, path_provider: PathProvider, name="", ): # Need to do this first so the type hints are filled in connector = fastcs_connector(prefix, self) self.add_detector_logics( EigerTriggerLogic(self.detector), EigerArmLogic(self.detector), odin.OdinDataLogic( path_provider=path_provider, odin=self.od, detector_bit_depth=self.detector.bit_depth_image, ), ) super().__init__(name=name, connector=connector)