From 715a96b06fac934f49e270b39045a00bd192d58a Mon Sep 17 00:00:00 2001 From: Joseph Ramsay <joseph.ramsay@stfc.ac.uk> Date: Fri, 18 Aug 2017 11:12:34 +0100 Subject: [PATCH] Re #20152 Changed mode from decoupling to tof windows --- scripts/Diffraction/isis_powder/gem.py | 2 +- scripts/Diffraction/isis_powder/hrpd.py | 9 ++- .../hrpd_routines/hrpd_advanced_config.py | 55 ++++++++++++++----- .../isis_powder/hrpd_routines/hrpd_algs.py | 2 +- 4 files changed, 48 insertions(+), 20 deletions(-) diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py index 7ea44ed983b..005320185be 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 0a55a3f43fb..47338d7be30 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 d29153ef716..fb4b4289c4e 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 e0684251855..af0ca423119 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): -- GitLab