ess.bifrost.detector.get_calibrated_detector_bifrost#

ess.bifrost.detector.get_calibrated_detector_bifrost(detector, *, transform, offset, primary_graph, secondary_graph)[source]#

Extract the data array corresponding to a detector’s signal field.

The data array is reshaped to the logical detector shape.

This function is specific to BIFROST and differs from the generic ess.reduce.nexus.workflow.get_calibrated_detector() in that it does not fold the detectors into logical dimensions because the files already contain the detectors in the correct shape.

Parameters:
  • detector (NeXusComponent[NXdetector, TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))]) – Loaded NeXus detector.

  • transform (NeXusTransformation[NXdetector, TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))]) – Transformation that determines the detector position.

  • offset (DetectorPositionOffset[TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))]) – Offset to add to the detector position.

  • primary_graph (PrimarySpecCoordTransformGraph[TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))]) – Coordinate transformation graph for the primary spectrometer.

  • secondary_graph (SecondarySpecCoordTransformGraph[TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))]) – Coordinate transformation graph for the secondary spectrometer. Must be a closure over analyzer parameters. And those parameters must have a compatible shape with data.

Returns:

EmptyDetector[TypeVar(RunType, ess.reduce.nexus.types.SampleRun (int), ess.reduce.nexus.types.VanadiumRun (int))] – Detector geometry and spectrometer coordinates. This includes “final_energy”, “secondary_flight_time”, and “L1”.