From 259a8f686ae2df707aa7a2efbb4c1d53338aca2f Mon Sep 17 00:00:00 2001
From: David Fairbrother <DavidFair@users.noreply.github.com>
Date: Mon, 21 Nov 2016 16:47:31 +0000
Subject: [PATCH] Re #17949 Move logic into routines to tidy TLD of isis_powder

---
 .../Diffraction/isis_powder/abstract_inst.py    | 11 ++++-------
 scripts/Diffraction/isis_powder/pearl.py        | 17 ++++++-----------
 .../isis_powder/pearl_routines/fmode_output.py  |  4 ++--
 .../{ => pearl_routines}/pearl_calib_factory.py |  0
 .../{ => pearl_routines}/pearl_cycle_factory.py |  0
 scripts/Diffraction/isis_powder/polaris.py      | 13 +++----------
 .../polaris_routines/polaris_calib_factory.py   | 10 ----------
 .../polaris_routines/polaris_calib_parser.py    |  6 ++++--
 .../isis_powder/{ => routines}/RunDetails.py    |  0
 .../isis_powder/routines/__init__.py            |  1 +
 .../isis_powder/{ => routines}/calibrate.py     |  3 ++-
 .../isis_powder/{ => routines}/common.py        |  0
 .../isis_powder/{ => routines}/focus.py         |  3 ++-
 13 files changed, 24 insertions(+), 44 deletions(-)
 rename scripts/Diffraction/isis_powder/{ => pearl_routines}/pearl_calib_factory.py (100%)
 rename scripts/Diffraction/isis_powder/{ => pearl_routines}/pearl_cycle_factory.py (100%)
 delete mode 100644 scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py
 rename scripts/Diffraction/isis_powder/{ => routines}/RunDetails.py (100%)
 create mode 100644 scripts/Diffraction/isis_powder/routines/__init__.py
 rename scripts/Diffraction/isis_powder/{ => routines}/calibrate.py (98%)
 rename scripts/Diffraction/isis_powder/{ => routines}/common.py (100%)
 rename scripts/Diffraction/isis_powder/{ => routines}/focus.py (98%)

diff --git a/scripts/Diffraction/isis_powder/abstract_inst.py b/scripts/Diffraction/isis_powder/abstract_inst.py
index 52fe4478c9d..ad37679d125 100644
--- a/scripts/Diffraction/isis_powder/abstract_inst.py
+++ b/scripts/Diffraction/isis_powder/abstract_inst.py
@@ -1,12 +1,12 @@
 from __future__ import (absolute_import, division, print_function)
 
+import os
 from abc import ABCMeta, abstractmethod
+
 from six import add_metaclass
-import os
 
-from isis_powder import common
-from isis_powder import focus
-from isis_powder import calibrate
+from isis_powder.routines import calibrate, focus, common
+
 
 # This class provides common hooks for instruments to override
 # if they want to define the behaviour of the hook. Otherwise it
@@ -224,9 +224,6 @@ class AbstractInst(object):
         return True
         # TODO set this to False if they just dump their raw files in one folder
 
-    def _mask_noisy_detectors(self, vanadium_run):
-        pass
-
     def _calculate_solid_angle_efficiency_corrections(self, vanadium_ws):
         return _empty_hook_return_none()
 
diff --git a/scripts/Diffraction/isis_powder/pearl.py b/scripts/Diffraction/isis_powder/pearl.py
index e20fcc07776..b7a42798a89 100644
--- a/scripts/Diffraction/isis_powder/pearl.py
+++ b/scripts/Diffraction/isis_powder/pearl.py
@@ -1,20 +1,16 @@
 from __future__ import (absolute_import, division, print_function)
 
-import mantid.simpleapi as mantid
-from mantid import config
+import os
 
+import mantid.simpleapi as mantid
 import numpy as numpy
+from mantid import config
 
-import os
-
+import isis_powder.routines.common as common
 from isis_powder.abstract_inst import AbstractInst
-import isis_powder.common as common
+from isis_powder.pearl_routines import fmode_output, pearl_calib_factory, pearl_cycle_factory
+from isis_powder.routines.RunDetails import RunDetails
 
-from isis_powder import pearl_calib_factory
-from isis_powder import pearl_cycle_factory
-from isis_powder.RunDetails import RunDetails
-
-from isis_powder.pearl_routines import fmode_output
 
 class Pearl(AbstractInst):
 
@@ -50,7 +46,6 @@ class Pearl(AbstractInst):
         pearl_mc_absorption_file_name = "PRL112_DC25_10MM_FF.OUT"  # TODO
         self._attenuation_full_path = os.path.join(calibration_dir, pearl_mc_absorption_file_name)
 
-
     # --- Abstract Implementation ---- #
 
     # Params #
diff --git a/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py b/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py
index c91bb1cfc4e..16dd8da3c47 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/fmode_output.py
@@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function)
 
 import mantid.simpleapi as mantid
 
-import isis_powder.common as common
+import isis_powder.routines.common as common
 
 # This file generates the various outputs for the PEARL instruments and saves them to their respective files
 
@@ -138,7 +138,7 @@ def _focus_mode_all(output_file_paths, calibrated_spectra):
     first_spectrum = calibrated_spectra[0]
     summed_spectra = mantid.CloneWorkspace(InputWorkspace=first_spectrum)
 
-    for i in range(1, 9):  # TODO why is this 1-8
+    for i in range(1, 9):
         summed_spectra = mantid.Plus(LHSWorkspace=summed_spectra, RHSWorkspace=calibrated_spectra[i])
 
     summed_spectra_name = output_file_paths["output_name"] + "_mods1-9"
diff --git a/scripts/Diffraction/isis_powder/pearl_calib_factory.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_calib_factory.py
similarity index 100%
rename from scripts/Diffraction/isis_powder/pearl_calib_factory.py
rename to scripts/Diffraction/isis_powder/pearl_routines/pearl_calib_factory.py
diff --git a/scripts/Diffraction/isis_powder/pearl_cycle_factory.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_cycle_factory.py
similarity index 100%
rename from scripts/Diffraction/isis_powder/pearl_cycle_factory.py
rename to scripts/Diffraction/isis_powder/pearl_routines/pearl_cycle_factory.py
diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py
index a486731e52b..570f0f90907 100644
--- a/scripts/Diffraction/isis_powder/polaris.py
+++ b/scripts/Diffraction/isis_powder/polaris.py
@@ -1,14 +1,13 @@
 from __future__ import (absolute_import, division, print_function)
 
-import math
 import os
+
 import mantid.simpleapi as mantid
 
+import isis_powder.routines.common as common
 from isis_powder.abstract_inst import AbstractInst
 from isis_powder.polaris_routines import polaris_calib_parser
-
-import isis_powder.common as common
-from isis_powder.RunDetails import RunDetails
+from isis_powder.routines.RunDetails import RunDetails
 
 
 class Polaris(AbstractInst):
@@ -100,12 +99,6 @@ class Polaris(AbstractInst):
         normalised_ws = mantid.NormaliseByCurrent(InputWorkspace=ws_to_correct)
         return normalised_ws
 
-    def _mask_noisy_detectors(self, vanadium_ws):
-        summed_van_ws = mantid.Integration(InputWorkspace=vanadium_ws)
-        # TODO do they want this masking detectors with too high a contribution?
-        mantid.MaskDetectorsIf(InputWorkspace=summed_van_ws, InputCalFile=self._grouping_file_path,
-                               OutputCalFile=self._cal_file_path, Mode="DeselectIf", Operator="LessEqual", Value=10)
-
     def _calculate_solid_angle_efficiency_corrections(self, vanadium_ws):
         solid_angle_ws = mantid.SolidAngle(InputWorkspace=vanadium_ws)
         solid_angle_multiplicand = mantid.CreateSingleValuedWorkspace(DataValue=str(100))
diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py
deleted file mode 100644
index 0c62c4afbd1..00000000000
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_factory.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from __future__ import (absolute_import, division, print_function)
-
-
-def get_calibration_file(cycle):
-
-    # TODO setup this
-    offset_file_name = "offsets_2011_cycle111b.cal"
-    grouping_file_name = "offsets_2011_cycle111b.cal"
-    vanadium_file_name = "POL78338.raw"
-    return offset_file_name, grouping_file_name, vanadium_file_name
\ No newline at end of file
diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py
index 61bec441c3f..48680fca5ac 100644
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py
+++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_calib_parser.py
@@ -1,9 +1,11 @@
 from __future__ import (absolute_import, division, print_function)
-import isis_powder.common
 
 import os
+
 import yaml
 
+import isis_powder.routines.common
+
 
 def get_calibration_dict(run_number):
     config_file = _open_yaml_file()
@@ -52,7 +54,7 @@ def _check_if_run_is_exception(config_handle, run_number):
 def _find_dictionary_key(dict_to_search, run_number):
 
     for key in dict_to_search:
-        generated_runs = isis_powder.common.generate_run_numbers(run_number_string=key)
+        generated_runs = isis_powder.routines.common.generate_run_numbers(run_number_string=key)
         if run_number in generated_runs:
             return key
 
diff --git a/scripts/Diffraction/isis_powder/RunDetails.py b/scripts/Diffraction/isis_powder/routines/RunDetails.py
similarity index 100%
rename from scripts/Diffraction/isis_powder/RunDetails.py
rename to scripts/Diffraction/isis_powder/routines/RunDetails.py
diff --git a/scripts/Diffraction/isis_powder/routines/__init__.py b/scripts/Diffraction/isis_powder/routines/__init__.py
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/scripts/Diffraction/isis_powder/routines/__init__.py
@@ -0,0 +1 @@
+
diff --git a/scripts/Diffraction/isis_powder/calibrate.py b/scripts/Diffraction/isis_powder/routines/calibrate.py
similarity index 98%
rename from scripts/Diffraction/isis_powder/calibrate.py
rename to scripts/Diffraction/isis_powder/routines/calibrate.py
index a6132e9dd91..5757e75a46e 100644
--- a/scripts/Diffraction/isis_powder/calibrate.py
+++ b/scripts/Diffraction/isis_powder/routines/calibrate.py
@@ -1,9 +1,10 @@
 from __future__ import (absolute_import, division, print_function)
 
 import os
+
 import mantid.simpleapi as mantid
 
-import isis_powder.common as common
+import isis_powder.routines.common as common
 
 
 def create_van(instrument, van, empty, output_van_file_name, num_of_splines, absorb, gen_absorb):
diff --git a/scripts/Diffraction/isis_powder/common.py b/scripts/Diffraction/isis_powder/routines/common.py
similarity index 100%
rename from scripts/Diffraction/isis_powder/common.py
rename to scripts/Diffraction/isis_powder/routines/common.py
diff --git a/scripts/Diffraction/isis_powder/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py
similarity index 98%
rename from scripts/Diffraction/isis_powder/focus.py
rename to scripts/Diffraction/isis_powder/routines/focus.py
index 98e79741316..49fc5f41440 100644
--- a/scripts/Diffraction/isis_powder/focus.py
+++ b/scripts/Diffraction/isis_powder/routines/focus.py
@@ -1,7 +1,8 @@
 from __future__ import (absolute_import, division, print_function)
 
 import mantid.simpleapi as mantid
-import isis_powder.common as common
+
+import isis_powder.routines.common as common
 
 
 def focus(number, instrument, attenuate=True, van_norm=True):
-- 
GitLab