From 41799d434e9ca2f6ecbbf03e4096f609f679713e Mon Sep 17 00:00:00 2001 From: Elliot Oram <Elliot.Oram@stfc.ac.uk> Date: Thu, 30 Nov 2017 12:12:35 +0000 Subject: [PATCH] WIP: basic total scattering analysis Refs #21294 --- .../SystemTests/tests/analysis/ISIS_PowderPolarisTest.py | 8 ++++++++ scripts/Diffraction/isis_powder/polaris.py | 8 ++++++++ .../isis_powder/polaris_routines/polaris_algs.py | 8 ++++++++ .../isis_powder/polaris_routines/polaris_param_mapping.py | 2 ++ 4 files changed, 26 insertions(+) diff --git a/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py b/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py index 5faf10b8166..28725bef8ae 100644 --- a/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py +++ b/Testing/SystemTests/tests/analysis/ISIS_PowderPolarisTest.py @@ -94,6 +94,14 @@ class FocusTest(stresstesting.MantidStressTest): config['datasearch.directories'] = self.existing_config mantid.mtd.clear() +class TotalScatteringTest(stresstesting.MantidStressTest): + + def runTest(self): + + + def validate(self): + + def cleanup(self): def _gen_required_files(): required_run_numbers = ["98531", "98532", # create_van : PDF mode diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py index 8232bd6c7b4..ffbf1b69ea4 100644 --- a/scripts/Diffraction/isis_powder/polaris.py +++ b/scripts/Diffraction/isis_powder/polaris.py @@ -42,6 +42,14 @@ class Polaris(AbstractInst): output_path=run_details.unsplined_vanadium_file_path) return vanadium_d + def create_total_scattering_pdf(self, **kwargs): + self._inst_settings.update_attributes(kwargs=kwargs) + # Validate that required files exist + # generate pdf + pdf_output = self._generate_ts_pdf(focused_ws=self._inst_settings.focused_ws, + merge_banks=self._inst_settings.merge_banks) + return pdf_output + def set_sample_details(self, **kwargs): self._switch_mode_specific_inst_settings(kwargs.get("mode")) kwarg_name = "sample" diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py index 595da208bca..246809469dd 100644 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py +++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py @@ -76,6 +76,14 @@ def save_unsplined_vanadium(vanadium_ws, output_path): mantid.DeleteWorkspace(converted_group) +def generate_ts_pdf(tof_ws, merge_banks=False): + q_ws = mantid.ConvertUnits(InputWorkspace=tof_ws, Target="MomentumTransfer") + if merge_banks: + raise RuntimeError("Merging banks is currently not supported") + pdf_output = mantid.PDFFourierTransform(Inputworkspace=q_ws, InputSofQType="S(Q)", PDFType="G(r)") + return pdf_output + + def _apply_bragg_peaks_masking(workspaces_to_mask, mask_list): output_workspaces = list(workspaces_to_mask) diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py index 8b4931b2b1a..06e03095d39 100644 --- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py +++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py @@ -16,8 +16,10 @@ attr_mapping = \ ParamMapEntry(ext_name="first_cycle_run_no", int_name="run_in_range"), ParamMapEntry(ext_name="focused_cropping_values", int_name="focused_cropping_values"), ParamMapEntry(ext_name="focused_bin_widths", int_name="focused_bin_widths"), + ParamMapEntry(ext_name="focused_workspace", int_name="focused_ws"), ParamMapEntry(ext_name="grouping_file_name", int_name="grouping_file_name"), ParamMapEntry(ext_name="input_mode", int_name="input_mode", enum_class=INPUT_BATCHING), + ParamMapEntry(ext_name="merge_banks", int_name="merge_banks"), ParamMapEntry(ext_name="mode", int_name="mode", enum_class=POLARIS_CHOPPER_MODES), ParamMapEntry(ext_name="multiple_scattering", int_name="multiple_scattering"), ParamMapEntry(ext_name="raw_data_cropping_values", int_name="raw_data_crop_values"), -- GitLab