Skip to content
Snippets Groups Projects
Commit bc45301a authored by Louise McCann's avatar Louise McCann
Browse files

Refs #19803 move format_runs to IndirectCommon

parent 92119e8d
No related branches found
No related tags found
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._format_runs(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)
......@@ -279,22 +281,6 @@ class IndirectDiffScan(DataProcessorAlgorithm):
# The list of workspaces being processed
self._workspace_names = []
def _format_runs(self, runs):
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] = self._instrument_name + str(run)
return run_list
# Register algorithm with Mantid
AlgorithmFactory.subscribe(IndirectDiffScan)
......@@ -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._format_runs(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)
......@@ -470,22 +472,6 @@ class SofQWMomentsScan(DataProcessorAlgorithm):
return instrument, run_number
def _format_runs(self, runs):
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] = self._instrument_name + str(run)
return run_list
# Register algorithm with Mantid
AlgorithmFactory.subscribe(SofQWMomentsScan)
......@@ -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