Source code for ophyd_async.sim._blob_detector
from collections.abc import Sequence
from ophyd_async.core import PathProvider, SignalR, StandardDetector
from ._blob_arm_logic import BlobArmLogic
from ._blob_data_logic import BlobDataLogic
from ._blob_trigger_logic import BlobTriggerLogic
from ._pattern_generator import PatternGenerator
[docs]
class SimBlobDetector(StandardDetector):
"""Simulates a detector and writes Blobs to file."""
def __init__(
self,
path_provider: PathProvider,
pattern_generator: PatternGenerator | None = None,
config_sigs: Sequence[SignalR] = (),
name: str = "",
) -> None:
self.pattern_generator = pattern_generator or PatternGenerator()
self.add_detector_logics(
BlobTriggerLogic(pattern_generator=self.pattern_generator),
BlobArmLogic(pattern_generator=self.pattern_generator),
BlobDataLogic(
path_provider=path_provider, pattern_generator=self.pattern_generator
),
)
self.add_config_signals(*config_sigs)
super().__init__(name=name)