Source code for ess.spectroscopy.indirect.ki

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2025 Scipp contributors (https://github.com/scipp)

"""Handling of initial parameters / primary spectrometer."""

from __future__ import annotations

from ess.spectroscopy.types import (
    PrimarySpecCoordTransformGraph,
    RunType,
)


[docs] def primary_spectrometer_coordinate_transformation_graph() -> ( PrimarySpecCoordTransformGraph[RunType] ): """Return a coordinate transformation graph for the primary spectrometer. Returns ------- : Coordinate transformation graph for the primary spectrometer. """ # For the incident beam, the original implementation here used the guides to # determine a more accurate estimate of the path length. # See function `primary_path_length` in # commit 929ef7f97e00a1e26c254fd5f08c8a3346255970 # The result differs by <1mm from the straight line distance. # This should be well below the measurement accuracy. # So we use the simpler straight line distance here. from scippneutron.conversion.beamline import L1, straight_incident_beam return PrimarySpecCoordTransformGraph[RunType]( { "incident_beam": straight_incident_beam, "L1": L1, } )
providers = (primary_spectrometer_coordinate_transformation_graph,)