diff --git a/scripts/Diffraction/isis_powder/abstract_inst.py b/scripts/Diffraction/isis_powder/abstract_inst.py index 0661c6f8a732305e48389006e33bb7cc50448805..4e9a049da257e1735f08de5f0bbdde5cbf458436 100644 --- a/scripts/Diffraction/isis_powder/abstract_inst.py +++ b/scripts/Diffraction/isis_powder/abstract_inst.py @@ -231,7 +231,7 @@ class AbstractInst(object): def _process_focus_output(self, processed_spectra, run_details, attenuate=False): return _empty_hook_return_none() - def _apply_solid_angle_efficiency_corr(self, ws_to_correct, vanadium_number=None, run_details=None): + def apply_solid_angle_efficiency_corr(self, ws_to_correct, vanadium_number=None, run_details=None): return ws_to_correct def _apply_van_calibration_tof_rebinning(self, vanadium_ws, tof_rebin_pass, return_units): diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py index 9ba46ab7be9ced82972b27c2ef0f712969eb9a11..9bc41770fe4a90315498f360e38b8ba67a3f06c5 100644 --- a/scripts/Diffraction/isis_powder/polaris.py +++ b/scripts/Diffraction/isis_powder/polaris.py @@ -21,7 +21,8 @@ class Polaris(AbstractInst): _number_of_banks = 5 - def __init__(self, user_name, chopper_on, calibration_dir=None, output_dir=None, **kwargs): + def __init__(self, user_name, chopper_on, apply_solid_angle=True, + calibration_dir=None, output_dir=None, **kwargs): super(Polaris, self).__init__(user_name=user_name, calibration_dir=calibration_dir, output_dir=output_dir, kwargs=kwargs) @@ -33,10 +34,9 @@ class Polaris(AbstractInst): self._run_details_cached_obj = None # Properties set in later calls: - self._apply_solid_angle = None - - def focus(self, run_number, apply_solid_angle=True, do_attenuation=True, do_van_normalisation=True): self._apply_solid_angle = apply_solid_angle + + def focus(self, run_number, do_attenuation=True, do_van_normalisation=True): return self._focus(run_number=run_number, do_attenuation=do_attenuation, do_van_normalisation=do_van_normalisation) @@ -90,9 +90,8 @@ class Polaris(AbstractInst): @staticmethod def _generate_inst_file_name(run_number): if isinstance(run_number, list): - for val in run_number: - val = "POL" + str(val) - return run_number + updated_list = ["POL" + str(val) for val in run_number] + return updated_list else: return "POL" + str(run_number) @@ -125,7 +124,10 @@ class Polaris(AbstractInst): return corrections_ws - def _apply_solid_angle_efficiency_corr(self, ws_to_correct, vanadium_number=None, run_details=None): + def apply_solid_angle_efficiency_corr(self, ws_to_correct, vanadium_number=None, run_details=None): + if not self._apply_solid_angle: + return ws_to_correct + assert(vanadium_number or run_details) if not run_details or not os.path.isfile(run_details.solid_angle_corr): diff --git a/scripts/Diffraction/isis_powder/routines/calibrate.py b/scripts/Diffraction/isis_powder/routines/calibrate.py index 4ee32f734b3801008523d376278f8dd8370af974..0a15f79096f9d420884f65bc3bf9d43eb01a9f8a 100644 --- a/scripts/Diffraction/isis_powder/routines/calibrate.py +++ b/scripts/Diffraction/isis_powder/routines/calibrate.py @@ -23,8 +23,8 @@ def create_van(instrument, van, empty, output_van_file_name, num_of_splines, abs corrected_van_ws = mantid.AlignDetectors(InputWorkspace=corrected_van_ws, CalibrationFile=run_details.calibration) - corrected_van_ws = instrument._apply_solid_angle_efficiency_corr(ws_to_correct=corrected_van_ws, - vanadium_number=van) + corrected_van_ws = instrument.apply_solid_angle_efficiency_corr(ws_to_correct=corrected_van_ws, + vanadium_number=van) if absorb: corrected_van_ws = _apply_absorb_corrections(instrument=instrument, run_details=run_details, diff --git a/scripts/Diffraction/isis_powder/routines/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py index ca0ee09ef946d1849b8be4d099372d3051a93410..4ad5c4ddb9d6f338c77140dc48003d8374050a64 100644 --- a/scripts/Diffraction/isis_powder/routines/focus.py +++ b/scripts/Diffraction/isis_powder/routines/focus.py @@ -31,8 +31,8 @@ def _run_focus(instrument, run_number, perform_attenuation, perform_vanadium_nor input_workspace = mantid.AlignDetectors(InputWorkspace=input_workspace, CalibrationFile=run_details.calibration) - input_workspace = instrument._apply_solid_angle_efficiency_corr(ws_to_correct=input_workspace, - run_details=run_details) + input_workspace = instrument.apply_solid_angle_efficiency_corr(ws_to_correct=input_workspace, + run_details=run_details) focused_ws = mantid.DiffractionFocussing(InputWorkspace=input_workspace, GroupingFileName=run_details.grouping)