ibex_bluesky_core.devices.dae
Utilities for the DAE device - mostly XML helpers.
Members
Device representing the ISIS data acquisition electronics. |
|
Device that wraps a signal and checks the result of a set. |
|
The run state. |
- class ibex_bluesky_core.devices.dae.BeginRunEx(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
,Movable
[BeginRunExBits
]Subdevice for the BEGINRUNEX signal to begin a run.
Set up write-only signal for BEGINRUNEX.
- set(value: BeginRunExBits) None [source]
Start a run with the specified bits - See BeginRunExBits.
- class ibex_bluesky_core.devices.dae.BeginRunExBits(value)[source]
Bases:
IntFlag
Bits for BEGINRUNEX.
- class ibex_bluesky_core.devices.dae.Dae(prefix: str, name: str = 'DAE')[source]
Bases:
StandardReadable
Device representing the ISIS data acquisition electronics.
Create a new Dae ophyd-async device.
- async trigger_and_get_specdata(detectors: ndarray[tuple[Any, ...], dtype[int32 | int64]] | slice | None = None) ndarray[tuple[Any, ...], dtype[int32]] [source]
Get a correctly-shaped spectrum-data array.
This array will have shape (num_spectra, num_time_channels).
If detectors is a slice or an array, the number of detectors will be given by that slice or array. If detectors is None, all detectors, including the “junk” detector 0, will be included.
The number of spectra will be determined by the current DAE TCB settings. The returned array will not include the “junk” time-channel 0.
- Parameters:
dae – The SimpleDae instance
detectors – a numpy array or slice describing detectors to get data from. Default is all detectors. Pass np.array([1]) to select detector 1.
- class ibex_bluesky_core.devices.dae.DaeCheckingSignal(datatype: type[T], prefix: str)[source]
Bases:
StandardReadable
,Movable
[T
],Generic
[T
]Device that wraps a signal and checks the result of a set.
Device that wraps a signal and checks the result of a set.
- Parameters:
datatype – The datatype of the signal.
prefix – The PV address of the signal.
- class ibex_bluesky_core.devices.dae.DaeControls(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
Subdevice for the DAE run controls.
Set up write-only signals for DAE controls.
- class ibex_bluesky_core.devices.dae.DaeEventMode(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
Subdevice for event mode statistics.
Set up signals for DAE event mode statistics.
- class ibex_bluesky_core.devices.dae.DaeMonitor(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
Subdevice for the current monitor.
Set up signals for the current DAE monitor.
- class ibex_bluesky_core.devices.dae.DaePeriod(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
Subdevice for the current DAE period.
Set up signals for the current DAE period.
- class ibex_bluesky_core.devices.dae.DaePeriodSettings(dae_prefix: str, name: str = '')[source]
Bases:
Device
,Locatable
[DaePeriodSettingsData
],Movable
[DaePeriodSettingsData
]Subdevice for the DAE hardware period settings.
Set up signal for the DAE period settings.
See DaePeriodSettingsData for options.
- async locate() Location[DaePeriodSettingsData] [source]
Retrieve and convert the current XML to DaePeriodSettingsData.
- set(value: DaePeriodSettingsData) None [source]
Set any changes in the period settings to the XML.
- class ibex_bluesky_core.devices.dae.DaePeriodSettingsData(*, periods_settings: list[SinglePeriodSettings] | None = None, periods_soft_num: int | None = None, periods_type: PeriodType | None = None, periods_src: PeriodSource | None = None, periods_file: str | None = None, periods_seq: int | None = None, periods_delay: int | None = None)[source]
Bases:
object
Dataclass for the hardware period settings.
- class ibex_bluesky_core.devices.dae.DaeSettings(dae_prefix: str, name: str = '')[source]
Bases:
StandardReadable
,Locatable
[DaeSettingsData
],Movable
[DaeSettingsData
]Subdevice for the DAE general settings.
Set up signals for the DAE general settings.
See DaeSettingsData for options.
- async locate() Location[DaeSettingsData] [source]
Retrieve and convert the current XML to DaeSettingsData.
- set(value: DaeSettingsData) None [source]
Set any changes in the DAE settings to the XML.
- class ibex_bluesky_core.devices.dae.DaeSettingsData(*, wiring_filepath: str | None = None, detector_filepath: str | None = None, spectra_filepath: str | None = None, mon_spect: int | None = None, mon_from: int | None = None, mon_to: int | None = None, timing_source: DaeTimingSource | None = None, smp_veto: bool | None = None, ts2_veto: bool | None = None, hz50_veto: bool | None = None, ext0_veto: bool | None = None, ext1_veto: bool | None = None, ext2_veto: bool | None = None, ext3_veto: bool | None = None, fermi_veto: bool | None = None, fermi_delay: int | None = None, fermi_width: int | None = None, muon_ms_mode: bool | None = None, muon_cherenkov_pulse: int | None = None, veto_0_name: str | None = None, veto_1_name: str | None = None, veto_2_name: str | None = None, veto_3_name: str | None = None)[source]
Bases:
object
Dataclass for the general DAE settings.
- class ibex_bluesky_core.devices.dae.DaeSpectra(dae_prefix: str, *, spectra: int, period: int, name: str = '')[source]
Bases:
StandardReadable
Subdevice for a single DAE spectra.
Set up signals for a single DAE spectra.
- async read_counts() ndarray[tuple[Any, ...], dtype[float32]] [source]
Read a correctly-sized array of counts.
- async read_counts_per_time() ndarray[tuple[Any, ...], dtype[float32]] [source]
Read a correctly-sized array of counts divided by bin width.
- async read_spectrum_dataarray() DataArray [source]
Get a scipp DataArray containing the current data from this spectrum.
Variances are set to the counts - i.e. the standard deviation is sqrt(N), which is typical for counts data.
Data is returned along dimension “tof”, which has bin-edge coordinates and units set from the units of the underlying PVs.
- class ibex_bluesky_core.devices.dae.DaeTCBSettings(dae_prefix: str, name: str = '')[source]
Bases:
Device
,Locatable
[DaeTCBSettingsData
],Movable
[DaeTCBSettingsData
]Subdevice for the DAE time channel settings.
Set up signal for the DAE time channel settings.
See DaeTCBSettingsData for options.
- async locate() Location[DaeTCBSettingsData] [source]
Retrieve and convert the current XML to DaeTCBSettingsData.
- set(value: DaeTCBSettingsData) None [source]
Set any changes in the tcb settings to the XML.
- class ibex_bluesky_core.devices.dae.DaeTCBSettingsData(*, tcb_tables: dict[int, TimeRegime] | None = None, tcb_file: str | None = None, time_unit: TCBTimeUnit | None = None, tcb_calculation_method: TCBCalculationMethod | None = None)[source]
Bases:
object
Dataclass for the DAE TCB settings.
- class ibex_bluesky_core.devices.dae.DaeTimingSource(value)[source]
Bases:
Enum
The DAE timing source.
- class ibex_bluesky_core.devices.dae.PeriodSource(value)[source]
Bases:
Enum
The period setup source, whether to use parameters or file.
- class ibex_bluesky_core.devices.dae.RunstateEnum(value)[source]
Bases:
StrictEnum
The run state.
- class ibex_bluesky_core.devices.dae.SinglePeriodSettings(*, type: int | None = None, frames: int | None = None, output: int | None = None, label: str | None = None)[source]
Bases:
object
Dataclass for the settings on a single period.
- class ibex_bluesky_core.devices.dae.TCBCalculationMethod(value)[source]
Bases:
Enum
Calculation method for DAE TCB settings.
- class ibex_bluesky_core.devices.dae.TCBTimeUnit(value)[source]
Bases:
Enum
Time unit for DAE TCB settings.
- class ibex_bluesky_core.devices.dae.TimeRegime(rows: dict[int, TimeRegimeRow])[source]
Bases:
object
Time regime - contains a dict(rows) which is row_number:TimeRegimeRow.