Skip to content
Snippets Groups Projects
Commit e9060939 authored by Savici, Andrei T.'s avatar Savici, Andrei T. Committed by GitHub
Browse files

Merge pull request #19804 from mantidproject/19803_indirect_instrument_selection

Indirect - QuickRun - Use instrument from algorithm
parents a6a725c1 bc45301a
No related merge requests found
......@@ -4,6 +4,8 @@ from mantid.api import *
from mantid.simpleapi import *
from mantid import config
from IndirectCommon import formatRuns
class IndirectDiffScan(DataProcessorAlgorithm):
_data_files = None
......@@ -78,7 +80,7 @@ class IndirectDiffScan(DataProcessorAlgorithm):
process_prog = Progress(self, start=0.1, end=0.9, nreports=len(self._workspace_names))
process_prog.report("Running diffraction")
scan_alg = self.createChildAlgorithm("ISISIndirectDiffractionReduction", 0.05, 0.95)
scan_alg.setProperty('InputFiles', self._data_files)
scan_alg.setProperty('InputFiles', formatRuns(self._data_files, self._instrument_name))
scan_alg.setProperty('ContainerFiles', self._can_files)
scan_alg.setProperty('ContainerScaleFactor', self._can_scale)
scan_alg.setProperty('CalFile', self._calib_file)
......
......@@ -6,6 +6,8 @@ from mantid import config
import os
import numpy as np
from IndirectCommon import formatRuns
class SofQWMomentsScan(DataProcessorAlgorithm):
_data_files = None
......@@ -110,7 +112,7 @@ class SofQWMomentsScan(DataProcessorAlgorithm):
progress.report('Energy transfer')
scan_alg = self.createChildAlgorithm("ISISIndirectEnergyTransfer", 0.05, 0.95)
scan_alg.setProperty('InputFiles', self._data_files)
scan_alg.setProperty('InputFiles', formatRuns(self._data_files, self._instrument_name))
scan_alg.setProperty('SumFiles', self._sum_files)
scan_alg.setProperty('LoadLogFiles', self._load_logs)
scan_alg.setProperty('CalibrationWorkspace', self._calibration_ws)
......
......@@ -5,7 +5,6 @@ from six.moves import range
import mantid.simpleapi as s_api
from mantid import config, logger
import os.path
import math
import datetime
......@@ -522,3 +521,24 @@ def firstNonZero(data):
for i in range(len(data)):
if data[i] != 0:
return i
def formatRuns(runs, instrument_name):
"""
:return: A list of runs prefixed with the given instrument name
"""
run_list = []
for run in runs:
if '-' in run:
a, b = run.split('-')
run_list.extend(range(int(a), int(b) + 1))
else:
try:
run_list.append(int(run))
except:
# run already has instrument eg 'osi1000'
run_list.append(run)
for idx, run in enumerate(run_list):
if type(run) == int:
run_list[idx] = instrument_name + str(run)
return run_list
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment