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
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
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)
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
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
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)
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)
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)
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)