Exemplo n.º 1
0
def calculate_van_absorb_corrections(ws_to_correct, multiple_scattering):
    absorb_dict = hrpd_advanced_config.absorption_correction_params
    sample_details_obj = absorb_corrections.create_vanadium_sample_details_obj(config_dict=absorb_dict)
    ws_to_correct = absorb_corrections.run_cylinder_absorb_corrections(
        ws_to_correct=ws_to_correct, multiple_scattering=multiple_scattering, sample_details_obj=sample_details_obj,
        is_vanadium=True)
    return ws_to_correct
Exemplo n.º 2
0
def calculate_van_absorb_corrections(ws_to_correct, multiple_scattering):
    absorb_dict = hrpd_advanced_config.absorption_correction_params
    sample_details_obj = absorb_corrections.create_vanadium_sample_details_obj(config_dict=absorb_dict)
    ws_to_correct = absorb_corrections.run_cylinder_absorb_corrections(
        ws_to_correct=ws_to_correct, multiple_scattering=multiple_scattering, sample_details_obj=sample_details_obj,
        is_vanadium=True)
    return ws_to_correct
Exemplo n.º 3
0
 def _apply_absorb_corrections(self, run_details, ws_to_correct):
     if self._is_vanadium:
         return gem_algs.calculate_van_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering,
             is_vanadium=self._is_vanadium)
     else:
         return absorb_corrections.run_cylinder_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering,
             sample_details_obj=self._sample_details)
Exemplo n.º 4
0
def calculate_van_absorb_corrections(ws_to_correct, multiple_scattering, is_vanadium):
    mantid.MaskDetectors(ws_to_correct, SpectraList=list(range(1, 55)))

    absorb_dict = polaris_advanced_config.absorption_correction_params
    sample_details_obj = absorb_corrections.create_vanadium_sample_details_obj(config_dict=absorb_dict)
    ws_to_correct = absorb_corrections.run_cylinder_absorb_corrections(
        ws_to_correct=ws_to_correct, multiple_scattering=multiple_scattering, sample_details_obj=sample_details_obj,
        is_vanadium=is_vanadium)
    return ws_to_correct
Exemplo n.º 5
0
def calculate_van_absorb_corrections(ws_to_correct, multiple_scattering, is_vanadium):
    mantid.MaskDetectors(ws_to_correct, SpectraList=list(range(1, 55)))

    absorb_dict = polaris_advanced_config.absorption_correction_params
    sample_details_obj = absorb_corrections.create_vanadium_sample_details_obj(config_dict=absorb_dict)
    ws_to_correct = absorb_corrections.run_cylinder_absorb_corrections(
        ws_to_correct=ws_to_correct, multiple_scattering=multiple_scattering, sample_details_obj=sample_details_obj,
        is_vanadium=is_vanadium)
    return ws_to_correct
Exemplo n.º 6
0
def calculate_van_absorb_corrections(ws_to_correct, multiple_scattering, is_vanadium):
    # First 100 detectors are monitors or not connected to DAE
    mantid.MaskDetectors(ws_to_correct, SpectraList=range(1, 101))

    absorb_dict = gem_advanced_config.absorption_correction_params
    sample_details_obj = absorb_corrections.create_vanadium_sample_details_obj(config_dict=absorb_dict)
    ws_to_correct = absorb_corrections.run_cylinder_absorb_corrections(
        ws_to_correct=ws_to_correct, multiple_scattering=multiple_scattering, sample_details_obj=sample_details_obj,
        is_vanadium=True)
    return ws_to_correct
    def test_sample_is_set_correctly(self):
        sample_details = SampleDetails(height=4.0, radius=0.25, center=[0., 0., 0.], shape="cylinder")
        sample_details.set_material(chemical_formula="V")

        ws = mantid.CreateSampleWorkspace(Function='Flat background', NumBanks=1, BankPixelWidth=1, XMax=10, BinWidth=1)
        ws = absorb_corrections.run_cylinder_absorb_corrections(ws_to_correct=ws, multiple_scattering=False,
                                                                sample_details_obj=sample_details, is_vanadium=True)

        self.assertAlmostEqual(ws.dataY(0)[2], 1.16864808, delta=1e-8)
        self.assertAlmostEqual(ws.dataY(0)[5], 1.16872761, delta=1e-8)
        self.assertAlmostEqual(ws.dataY(0)[9], 1.16883365, delta=1e-8)
Exemplo n.º 8
0
    def test_sample_is_set_correctly(self):
        sample_details = SampleDetails(height=4.0, radius=0.25, center=[0., 0., 0.], shape="cylinder")
        sample_details.set_material(chemical_formula="V")

        ws = mantid.CreateSampleWorkspace(Function='Flat background', NumBanks=1, BankPixelWidth=1, XMax=10, BinWidth=1)
        ws = absorb_corrections.run_cylinder_absorb_corrections(ws_to_correct=ws, multiple_scattering=False,
                                                                sample_details_obj=sample_details, is_vanadium=True)

        self.assertAlmostEqual(ws.dataY(0)[2], 1.16864808, delta=1e-8)
        self.assertAlmostEqual(ws.dataY(0)[5], 1.16872761, delta=1e-8)
        self.assertAlmostEqual(ws.dataY(0)[9], 1.16883365, delta=1e-8)
Exemplo n.º 9
0
 def _apply_absorb_corrections(self, run_details, ws_to_correct):
     if self._is_vanadium:
         return hrpd_algs.calculate_van_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering)
     elif self._sample_details is None:
         raise RuntimeError("Absorption corrections cannot be run without sample details."
                            " Please set sample details using set_sample before running absorption corrections.")
     elif self._sample_details.shape_type() == "slab":
         return hrpd_algs.calculate_slab_absorb_corrections(ws_to_correct=ws_to_correct,
                                                            sample_details_obj=self._sample_details)
     else:
         return absorb_corrections.run_cylinder_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering,
             sample_details_obj=self._sample_details, is_vanadium=self._is_vanadium)
Exemplo n.º 10
0
 def _apply_absorb_corrections(self, run_details, ws_to_correct):
     if self._is_vanadium:
         return hrpd_algs.calculate_van_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering)
     elif self._sample_details is None:
         raise RuntimeError("Absorption corrections cannot be run without sample details."
                            " Please set sample details using set_sample before running absorption corrections.")
     elif self._sample_details.shape_type() == "slab":
         return hrpd_algs.calculate_slab_absorb_corrections(ws_to_correct=ws_to_correct,
                                                            sample_details_obj=self._sample_details)
     else:
         return absorb_corrections.run_cylinder_absorb_corrections(
             ws_to_correct=ws_to_correct, multiple_scattering=self._inst_settings.multiple_scattering,
             sample_details_obj=self._sample_details, is_vanadium=self._is_vanadium)