From 8f027195570f6d91caf40e1ca3e18ea9b0fdcf0f Mon Sep 17 00:00:00 2001 From: Simon Heybrock Date: Wed, 13 Dec 2023 14:24:34 +0100 Subject: [PATCH] Add missing computation of cell transmissions --- src/ess/polarization/base.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/ess/polarization/base.py b/src/ess/polarization/base.py index 962fd41..cbdd4ee 100644 --- a/src/ess/polarization/base.py +++ b/src/ess/polarization/base.py @@ -30,6 +30,10 @@ class He3Polarization(sl.Scope[Cell, sc.DataArray], sc.DataArray): """Time-dependent polarization for a given cell.""" +class He3Transmission(sl.Scope[Cell, sc.DataArray], sc.DataArray): + """Wavelength- and time-dependent transmission for a given cell.""" + + class He3CellPressure(sl.Scope[Cell, sc.Variable], sc.Variable): """Pressure for a given cell.""" @@ -230,10 +234,23 @@ def direct_beam_data_by_cell_and_polarization( """ """ +def he3_transmission( + opacity: He3Opacity[Cell], + polarization: He3Polarization[Cell], + transmission_empty_glass: He3TransmissionEmptyGlass[Cell], +) -> He3Transmission[Cell]: + """ + Transmission for a given cell. + + This is computed from the opacity and polarization. + """ + return He3Transmission[Cell]() + + def correct_sample_data_for_polarization( sample_data: SampleData, - transmission_polarizer: He3Polarization[Polarizer], - transmission_analyzer: He3Polarization[Analyzer], + transmission_polarizer: He3Transmission[Polarizer], + transmission_analyzer: He3Transmission[Analyzer], ) -> PolarizationCorrectedSampleData: """ Apply polarization correction for the case of He3 polarizers and analyzers. @@ -249,6 +266,7 @@ def correct_sample_data_for_polarization( providers = [ direct_beam, he3_direct_beam, + he3_transmission, he3_opacity_from_beam_data, he3_polarization, correct_sample_data_for_polarization,