ess.reduce.time_of_flight.workflow.GenericTofWorkflow#
- ess.reduce.time_of_flight.workflow.GenericTofWorkflow(*, run_types, monitor_types, tof_lut_provider=TofLutProvider.FILE)[source]#
Generic workflow for computing the neutron time-of-flight for detector and monitor data.
This workflow builds on the
GenericNeXusWorkflow
and computes time-of-flight from a lookup table that is created from the chopper settings, detector Ltotal and the neutron time-of-arrival.It is possible to limit which run types and monitor types are supported by the returned workflow. This is useful to reduce the size of the workflow and make it easier to inspect. Make sure to add all required run types and monitor types when using this feature.
Attention
Filtering by run type and monitor type does not work with nested type vars. E.g., if you have a type like
Outer[Inner[RunType]]
, this type and its provider will be removed.- Parameters:
run_types (
Iterable
[type
]) – List of run types to include in the workflow. Constrains the possible values ofess.reduce.nexus.types.RunType
.monitor_types (
Iterable
[type
]) – List of monitor types to include in the workflow. Constrains the possible values ofess.reduce.nexus.types.MonitorType
andess.reduce.nexus.types.Component
.tof_lut_provider (
TofLutProvider
, default:<TofLutProvider.FILE: 1>
) – Specifies how the time-of-flight lookup table is provided: - FILE: Read from a file - TOF: Computed from chopper settings using the ‘tof’ package - MCSTAS: From McStas simulation (not implemented yet)
- Returns:
Pipeline
– The workflow.