From d83eea928e9a1ad48f6fae81ca7a4c8b6c2d7d3c Mon Sep 17 00:00:00 2001 From: Johannes Kasimir Date: Wed, 25 Oct 2023 15:03:14 +0200 Subject: [PATCH] fix: move Beamline and Resolution types to amor module. remove supermirror scope --- src/essreflectometry/amor/__init__.py | 6 +++--- src/essreflectometry/amor/beamline.py | 3 ++- src/essreflectometry/amor/calibrations.py | 8 ++++---- src/essreflectometry/amor/load.py | 3 ++- src/essreflectometry/amor/resolution.py | 11 ++--------- src/essreflectometry/amor/types.py | 19 ++++++++++++------- src/essreflectometry/types.py | 9 --------- 7 files changed, 25 insertions(+), 34 deletions(-) diff --git a/src/essreflectometry/amor/__init__.py b/src/essreflectometry/amor/__init__.py index cd18d92..c19a7e6 100644 --- a/src/essreflectometry/amor/__init__.py +++ b/src/essreflectometry/amor/__init__.py @@ -25,9 +25,9 @@ ) default_parameters = { - Supermirror[MValue]: sc.scalar(5, unit=sc.units.dimensionless), - Supermirror[CriticalEdge]: 0.022 * sc.Unit('1/angstrom'), - Supermirror[Alpha]: sc.scalar(0.25 / 0.088, unit=sc.units.angstrom), + MValue: sc.scalar(5, unit=sc.units.dimensionless), + CriticalEdge: 0.022 * sc.Unit('1/angstrom'), + Alpha: sc.scalar(0.25 / 0.088, unit=sc.units.angstrom), BeamSize[Run]: 2.0 * sc.units.mm, SampleSize[Run]: 10.0 * sc.units.mm, DetectorSpatialResolution[Run]: 0.0025 * sc.units.m, diff --git a/src/essreflectometry/amor/beamline.py b/src/essreflectometry/amor/beamline.py index 8a66298..d8a1b43 100644 --- a/src/essreflectometry/amor/beamline.py +++ b/src/essreflectometry/amor/beamline.py @@ -4,8 +4,9 @@ from ..choppers import make_chopper from ..logging import log_call -from ..types import BeamlineParams, Run +from ..types import Run from .types import ( + BeamlineParams, BeamSize, Chopper1Position, Chopper2Position, diff --git a/src/essreflectometry/amor/calibrations.py b/src/essreflectometry/amor/calibrations.py index 5cc8b55..cfa44e4 100644 --- a/src/essreflectometry/amor/calibrations.py +++ b/src/essreflectometry/amor/calibrations.py @@ -4,14 +4,14 @@ # from ..reflectometry import orso from ..types import CalibratedReference, Histogrammed, Reference -from .types import Alpha, CriticalEdge, MValue, Supermirror +from .types import Alpha, CriticalEdge, MValue def supermirror_calibration( data_array: Histogrammed[Reference], - m_value: Supermirror[MValue], - critical_edge: Supermirror[CriticalEdge], - alpha: Supermirror[Alpha], + m_value: MValue, + critical_edge: CriticalEdge, + alpha: Alpha, ) -> CalibratedReference: """ Calibrate supermirror measurements diff --git a/src/essreflectometry/amor/load.py b/src/essreflectometry/amor/load.py index 448eb27..42d9109 100644 --- a/src/essreflectometry/amor/load.py +++ b/src/essreflectometry/amor/load.py @@ -7,8 +7,9 @@ import scippnexus as snx from ..logging import get_logger -from ..types import BeamlineParams, Filename, Raw, Run +from ..types import Filename, Raw, Run from .data import get_path +from .types import BeamlineParams def _tof_correction(data: sc.DataArray, dim: str = 'tof') -> sc.DataArray: diff --git a/src/essreflectometry/amor/resolution.py b/src/essreflectometry/amor/resolution.py index 8208438..4596b92 100644 --- a/src/essreflectometry/amor/resolution.py +++ b/src/essreflectometry/amor/resolution.py @@ -3,15 +3,8 @@ import scipp as sc from ..tools import fwhm_to_std -from ..types import ( - AngularResolution, - QBins, - QData, - QResolution, - Sample, - SampleSizeResolution, - WavelengthResolution, -) +from ..types import QBins, QData, QResolution, Sample +from .types import AngularResolution, SampleSizeResolution, WavelengthResolution def wavelength_resolution(da: QData[Sample]) -> WavelengthResolution: diff --git a/src/essreflectometry/amor/types.py b/src/essreflectometry/amor/types.py index 1997963..d58dc61 100644 --- a/src/essreflectometry/amor/types.py +++ b/src/essreflectometry/amor/types.py @@ -5,18 +5,23 @@ from ..types import Run +WavelengthResolution = NewType('WavelengthResolution', sc.Variable) +AngularResolution = NewType('AngularResolution', sc.Variable) +SampleSizeResolution = NewType('SampleSizeResolution', sc.Variable) + + +class BeamlineParams(sciline.Scope[Run, dict], dict): + """Parameters describing the beamline""" + + # TODO What do they mean? # Supermirror parameters -MValue = NewType('MValue', str) -CriticalEdge = NewType('CriticalEdge', str) -Alpha = NewType('Alpha', str) +MValue = NewType('MValue', sc.Variable) +CriticalEdge = NewType('CriticalEdge', sc.Variable) +Alpha = NewType('Alpha', sc.Variable) SupermirrorParameter = TypeVar('SupermirrorParameter', MValue, CriticalEdge, Alpha) -class Supermirror(sciline.Scope[SupermirrorParameter, sc.Variable], sc.Variable): - """Supermirror parameter scope.""" - - class SampleRotation(sciline.Scope[Run, sc.Variable], sc.Variable): """The rotation of the sample / the reference sample.""" diff --git a/src/essreflectometry/types.py b/src/essreflectometry/types.py index 833bb6a..0b0fbf8 100644 --- a/src/essreflectometry/types.py +++ b/src/essreflectometry/types.py @@ -31,15 +31,6 @@ class FootprintCorrected(sciline.Scope[Run, sc.DataArray], sc.DataArray): """Experiment data corrected by footprint on sample""" -WavelengthResolution = NewType('WavelengthResolution', sc.Variable) -AngularResolution = NewType('AngularResolution', sc.Variable) -SampleSizeResolution = NewType('SampleSizeResolution', sc.Variable) - - -class BeamlineParams(sciline.Scope[Run, dict], dict): - """Parameters describing the beamline""" - - SpecularReflectionCoordTransformGraph = NewType( 'SpecularReflectionCoordTransformGraph', dict )