From efb6c99289c17062b9519e0e3f0c3163c69dbe6d Mon Sep 17 00:00:00 2001
From: David Fairbrother <DavidFair@users.noreply.github.com>
Date: Wed, 8 Mar 2017 19:37:40 +0000
Subject: [PATCH] Re #18643 Added empty can option for GEM

---
 scripts/Diffraction/isis_powder/gem_routines/gem_algs.py      | 4 ++--
 .../Diffraction/isis_powder/gem_routines/gem_param_mapping.py | 1 +
 scripts/Diffraction/isis_powder/routines/RunDetails.py        | 1 +
 scripts/Diffraction/isis_powder/routines/calibrate.py         | 2 ++
 4 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py b/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
index d2cdb43cc4c..bd55d63e15d 100644
--- a/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
+++ b/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
@@ -42,10 +42,10 @@ def get_run_details(run_number_string, inst_settings):
     offset_file_path = os.path.join(label_calibration_folder, offset_file_name)
     splined_file_path = os.path.join(label_calibration_folder, splined_vanadium_name)
 
-    # TODO generate splined vanadium name from common
-
     run_details = RunDetails.RunDetails(run_number=run_number)
     run_details.empty_runs = empty_runs
+    # Rarely used attribute so we will leave it as optional
+    run_details.sample_empty = inst_settings.sample_empty if hasattr(inst_settings, "sample_empty") else None
     run_details.user_input_run_number = run_number_string
     run_details.label = label
     run_details.vanadium_run_numbers = vanadium_runs
diff --git a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
index 061959b88e4..fe71e429191 100644
--- a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
@@ -12,6 +12,7 @@ attr_mapping = [("calibration_directory",       "calibration_dir"),
                 ("raw_tof_cropping_values",     "raw_tof_cropping_values"),
                 ("run_in_range",                "run_in_range"),
                 ("run_number",                  "run_number"),
+                ("sample_empty",                "sample_empty"),
                 ("spline_coefficient",          "spline_coeff"),
                 ("output_directory",            "output_dir"),
                 ("user_name",                   "user_name"),
diff --git a/scripts/Diffraction/isis_powder/routines/RunDetails.py b/scripts/Diffraction/isis_powder/routines/RunDetails.py
index b03e87ba945..4f1be4178e3 100644
--- a/scripts/Diffraction/isis_powder/routines/RunDetails.py
+++ b/scripts/Diffraction/isis_powder/routines/RunDetails.py
@@ -12,6 +12,7 @@ class RunDetails(object):
         self.user_input_run_number = None
 
         self.empty_runs = None
+        self.sample_empty = None
         self.label = None
 
         self.offset_file_path = None
diff --git a/scripts/Diffraction/isis_powder/routines/calibrate.py b/scripts/Diffraction/isis_powder/routines/calibrate.py
index eafce174eee..443acce6389 100644
--- a/scripts/Diffraction/isis_powder/routines/calibrate.py
+++ b/scripts/Diffraction/isis_powder/routines/calibrate.py
@@ -12,6 +12,8 @@ def create_van(instrument, run_details, absorb):
     input_van_ws_list = common.load_current_normalised_ws_list(run_number_string=van, instrument=instrument,
                                                                input_batching=InputBatchingEnum.Summed)
     input_van_ws = input_van_ws_list[0]  # As we asked for a summed ws there should only be one returned
+
+    # TODO where do we subtract empty can on GEM ?
     corrected_van_ws = common.subtract_sample_empty(ws_to_correct=input_van_ws,
                                                     empty_sample_ws_string=run_details.empty_runs,
                                                     instrument=instrument)
-- 
GitLab