From 6d59ef63e754c9f5d77c4016feec73f64ec5ca64 Mon Sep 17 00:00:00 2001 From: Conor Finn <conor.finn@stfc.ac.uk> Date: Fri, 11 Oct 2019 10:26:53 +0100 Subject: [PATCH] RE #27004 Make calibration create parameter table workspace --- .../tabs/calibration/model.py | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/model.py b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/model.py index 8e298f501a2..d6d0c8cbad2 100644 --- a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/model.py +++ b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/model.py @@ -12,7 +12,7 @@ from os import path, makedirs from mantid.api import AnalysisDataService as Ads from mantid.kernel import logger from mantid.simpleapi import Load, EnggVanadiumCorrections, EnggCalibrate, DeleteWorkspace, CloneWorkspace, \ - CreateWorkspace, AppendSpectra + CreateWorkspace, AppendSpectra, CreateEmptyTableWorkspace from mantidqt.plotting.functions import plot from Engineering.EnggUtils import write_ENGINX_GSAS_iparam_file @@ -20,6 +20,7 @@ from Engineering.EnggUtils import write_ENGINX_GSAS_iparam_file VANADIUM_INPUT_WORKSPACE_NAME = "engggui_vanadium_ws" CURVES_WORKSPACE_NAME = "engggui_vanadium_curves" INTEGRATED_WORKSPACE_NAME = "engggui_vanadium_integration" +CALIB_PARAMS_WORKSPACE_NAME = "engggui_calibration_banks_parameters" OUT_FILES_ROOT_DIR = path.join(path.expanduser("~"), "Engineering_Mantid") CALIBRATION_DIR = path.join(OUT_FILES_ROOT_DIR, "Calibration", "") @@ -57,6 +58,11 @@ class CalibrationModel(object): difc = [output[0].DIFC, output[1].DIFC] tzero = [output[0].TZERO, output[1].TZERO] + params_table = [] + for i in range(2): + params_table.append([i, difc[i], 0.0, tzero[i]]) + self.update_calibration_params_table(params_table) + self.create_output_files(CALIBRATION_DIR, difc, tzero, ceria_path, vanadium_path, instrument) if rb_num: @@ -64,6 +70,25 @@ class CalibrationModel(object): self.create_output_files(user_calib_dir, difc, tzero, ceria_path, vanadium_path, instrument) + @staticmethod + def update_calibration_params_table(params_table): + if len(params_table) == 0: + return + + # Create blank or clear existing params table. + if Ads.doesExist(CALIB_PARAMS_WORKSPACE_NAME): + workspace = Ads.retrieve(CALIB_PARAMS_WORKSPACE_NAME) + workspace.setRowCount(0) + else: + workspace = CreateEmptyTableWorkspace(OutputWorkspace=CALIB_PARAMS_WORKSPACE_NAME) + workspace.addColumn("int", "bankid") + workspace.addColumn("double", "difc") + workspace.addColumn("double", "difa") + workspace.addColumn("double", "tzero") + + for row in params_table: + workspace.addRow(row) + @staticmethod def _plot_vanadium_curves(): van_curve_twin_ws = "__engggui_vanadium_curves_twin_ws" -- GitLab