ess.reduce.unwrap.lut.close_non_synced_disk_choppers#
- ess.reduce.unwrap.lut.close_non_synced_disk_choppers(choppers, pulse_period, pulse_stride)[source]#
If a chopper’s frequency is not in sync with the frame frequency (it is not a multiple of the frame frequency), it is replaced with a chopper that is always closed. This is because we cannot always find a frame_period over which we can find periodicity for all choppers without making it arbitrary long. Such chopper frequencies are most probably a result of an error in chopper settings, and the simplest course of action is to treat them as always closed, which ensures we do not compute an invalid wavelength lookup table from them.
- Parameters:
choppers (
ActiveDiskChoppers[TypeVar(RunType)]) – A dict of DiskChopper objects representing the choppers in the beamline. Parked choppers (with 0 frequency) have been dropped.pulse_period (
unwrap.lut.PulsePeriod(scipp.Variable)) – Period of the source pulses, i.e., time between consecutive pulse starts.pulse_stride (
PulseStride[TypeVar(RunType)]) – Stride of used pulses. The frame period ispulse_stride * pulse_period.
- Return type:
FrameCompatibleDiskChoppers[TypeVar(RunType)]