diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py index 7ea44ed983bde5db2575b298f6333a3502da09fc..005320185be45bbddbb8529804a58fb39368beb7 100644 --- a/scripts/Diffraction/isis_powder/gem.py +++ b/scripts/Diffraction/isis_powder/gem.py @@ -63,7 +63,7 @@ class Gem(AbstractInst): 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) + sample_details_obj=self._sample_details) def _crop_banks_to_user_tof(self, focused_banks): return common.crop_banks_using_crop_list(focused_banks, self._inst_settings.focused_cropping_values) diff --git a/scripts/Diffraction/isis_powder/hrpd.py b/scripts/Diffraction/isis_powder/hrpd.py index 0a55a3f43fb1169ecdf736998774af4f06c0791e..47338d7be30ef6aa66f243201366ab575bb2740f 100644 --- a/scripts/Diffraction/isis_powder/hrpd.py +++ b/scripts/Diffraction/isis_powder/hrpd.py @@ -27,21 +27,20 @@ class HRPD(AbstractInst): self._sample_details = None def focus(self, **kwargs): - self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode")) + self._switch_tof_window_inst_settings(kwargs.get("window")) self._inst_settings.update_attributes(kwargs=kwargs) return self._focus( run_number_string=self._inst_settings.run_number, do_van_normalisation=self._inst_settings.do_van_norm, do_absorb_corrections=self._inst_settings.do_absorb_corrections) def create_vanadium(self, **kwargs): - self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode")) + self._switch_tof_window_inst_settings(kwargs.get("window")) self._inst_settings.update_attributes(kwargs=kwargs) return self._create_vanadium(run_number_string=self._inst_settings.run_in_range, do_absorb_corrections=self._inst_settings.do_absorb_corrections) def set_sample_details(self, **kwargs): - self._switch_decoupled_mode_inst_settings(kwargs.get("decoupled_mode")) kwarg_name = "sample" sample_details_obj = common.dictionary_key_helper( dictionary=kwargs, key=kwarg_name, @@ -87,6 +86,6 @@ class HRPD(AbstractInst): spline_number=spline_coeff) return output - def _switch_decoupled_mode_inst_settings(self, decoupled_mode): + def _switch_tof_window_inst_settings(self, tof_window): self._inst_settings.update_attributes( - advanced_config=hrpd_advanced_config.get_decoupled_mode_dict(decoupled_mode), suppress_warnings=True) + advanced_config=hrpd_advanced_config.get_tof_window_dict(tof_window=tof_window)) diff --git a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py index d29153ef716451abf665a14a27b7ccd142c42c17..fb4b4289c4e15f239e4bfce1c1a3042adc8722d9 100644 --- a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py +++ b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_advanced_config.py @@ -1,5 +1,7 @@ from __future__ import (absolute_import, division, print_function) +from isis_powder.hrpd_routines.hrpd_enums import HRPD_TOF_WINDOWS + absorption_correction_params = { "cylinder_sample_height": 2.0, "cylinder_sample_radius": 0.3, @@ -16,8 +18,31 @@ coupled_params = { ] } -decoupled_params = { - # TODO: Implement these +window_10_110_params = { + "vanadium_tof_cropping": (1e4, 1.2e5), + "focused_cropping_values" : [ + (1e4, 1.1e5), # Bank 1 + (1e4, 1.2e5), # Bank 2 + (1.1e4, 1.15e5) # Bank 3 + ] +} + +window_30_130_params = { + "vanadium_tof_cropping": (3e4, 1.4e5), + "focused_cropping_values": [ + (3e4, 1.3e5), # Bank 1 + (2.84e4, 1.42e5), # Bank 2 + (3e4, 1.37e5) + ] +} + +window_100_200_params = { + "vanadium_tof_cropping": (1e5, 2.15e5), + "focused_cropping_values": [ + (1e5, 2.02e5), # Bank 1 + (9.6e4, 2.18e5), # Bank 2 + (1e5, 2.11e5) # Bank 3 + ] } file_names = { @@ -27,23 +52,27 @@ file_names = { general_params = { "spline_coefficient": 70, "focused_bin_widths": [ - -0.0005, - -0.0005, - -0.001 - ] + -0.0005, # Bank 1 + -0.0005, # Bank 2 + -0.001 # Bank 3 + ], + "mode": "coupled" } -def get_all_adv_variables(is_decoupled_mode=False): +def get_all_adv_variables(tof_window=HRPD_TOF_WINDOWS.window_10_110): advanced_config_dict = {} advanced_config_dict.update(file_names) advanced_config_dict.update(general_params) - advanced_config_dict.update(get_decoupled_mode_dict(decoupled_mode=is_decoupled_mode)) + advanced_config_dict.update(get_tof_window_dict(tof_window=tof_window)) return advanced_config_dict -def get_decoupled_mode_dict(decoupled_mode): - if decoupled_mode: - return decoupled_params - else: - return coupled_params +def get_tof_window_dict(tof_window): + if tof_window == HRPD_TOF_WINDOWS.window_10_110: + return window_10_110_params + if tof_window == HRPD_TOF_WINDOWS.window_30_130: + return window_30_130_params + if tof_window == HRPD_TOF_WINDOWS.window_100_200: + return window_100_200_params + raise RuntimeError("Invalid time-of-flight window: " + str(tof_window)) diff --git a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py index e068425185511679e8f6af7db945fd9b8cf8b8cc..af0ca423119411151e025631b95dbbbe1bf25220 100644 --- a/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py +++ b/scripts/Diffraction/isis_powder/hrpd_routines/hrpd_algs.py @@ -72,7 +72,7 @@ def _apply_bragg_peaks_masking(workspaces_to_mask, mask_list): def _read_masking_file(masking_file_path): all_banks_masking_list = [] bank_masking_list = [] - ignore_line_prefixes = (' ', '\n', '\t', '#') # Matches whitespace or # symbol + ignore_line_prefixes = (' ', '\n', '\t', '#') # Matches whitespace or # symbol with open(masking_file_path) as mask_file: for line in mask_file: if line.startswith(ignore_line_prefixes):