Skip to content

Commit

Permalink
refs #8614 renamed copy_specta_to_monitors property
Browse files Browse the repository at this point in the history
to spectra_to_monitors_list  -- hope it is more vocal and does not interfere with copy_spectra2monitors function
  • Loading branch information
abuts committed Feb 12, 2014
1 parent ee898da commit 1fb2657
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 39 deletions.
2 changes: 1 addition & 1 deletion Code/Mantid/instrument/LET_Parameters.xml
Expand Up @@ -73,7 +73,7 @@
to copy detectors spectra to monitors spectra collected in histogram mode. If no such monitors are used "None"
(with brackets) has to be specified as the value
-->
<parameter name="copy_spectra_to_monitors" type="string">
<parameter name="spectra_to_monitors_list" type="string">
<value val="5506"/>
</parameter>

Expand Down
2 changes: 1 addition & 1 deletion Code/Mantid/instrument/MERLIN_Parameters.xml
Expand Up @@ -84,7 +84,7 @@
to copy detectors spectra to monitors spectra collected in histogram mode. If no such monitors are used "None"
(with brackets) has to be specified as the value
-->
<parameter name="copy_spectra_to_monitors" type="string">
<parameter name="spectra_to_monitors_list" type="string">
<value val="None"/>
</parameter>

Expand Down
4 changes: 2 additions & 2 deletions Code/Mantid/scripts/Inelastic/CommonFunctions.py
Expand Up @@ -133,11 +133,11 @@ def load_run(inst_name, run_number, calibration=None, force=False):
args={};
ext = os.path.splitext(filename)[1].lower();
if ext.endswith("raw"):
args['Monitors']='Separate'
args['Monitors']='Include'
elif ext.endswith('nxs'):
args['LoadMonitors'] = '1'

loaded_ws = Load(Filename=filename, OutputWorkspace=output_name)
loaded_ws = Load(Filename=filename, OutputWorkspace=output_name,**args)
logger.notice("Loaded %s" % filename)

######## Now we have the workspace
Expand Down
38 changes: 24 additions & 14 deletions Code/Mantid/scripts/Inelastic/DirectEnergyConversion.py
Expand Up @@ -779,6 +779,10 @@ def load_data(self, runs,new_ws_name=None,keep_previous_ws=False):
result_ws = RenameWorkspace(InputWorkspace=result_ws,OutputWorkspace=new_ws_name)

self.setup_mtd_instrument(result_ws)
if not(self.copy_spectra_to_monitors is None):
for specID in self.copy_spectra_to_monitors:
copy_spectrum2monitors(result_ws,result_ws.getName()+'_monitors',specID);

return result_ws

def copy_spectrum2monitors(wsName,monWSName,spectra_id):
Expand All @@ -789,8 +793,14 @@ def copy_spectrum2monitors(wsName,monWSName,spectra_id):
@param monWSName -- the name of histogram workspace with monitors where one needs to place the detector's spectra
@param spectra_num -- the number of the spectra to move
"""
ws = mtd[wsName];
monWS = mtd[monWSName];
if isinstance(wsName,str):
ws = mtd[wsName];
else:
ws = wsName;
if isinstance(monWSName,str):
monWS = mtd[monWSName];
else:
monWS = monWS;
x_param = monWS.readX(0);
bins = [x_param[0],x_param[1]-x_param[0],x_param[-1]];
ExtractSingleSpectrum(InputWorkspace=ws,OutputWorkspace='tmp_mon',WorkspaceIndex=spectra_id)
Expand Down Expand Up @@ -821,35 +831,35 @@ def __init__(self, instr_name=None):
# Complex setters/getters
#----------------------------------------------------------------------------------
@property
def copy_spectra_to_monitors(self):
return self._copy_spectra_to_monitors;
@copy_spectra_to_monitors.setter
def copy_spectra_to_monitors(self,spectra_list):
def spectra_to_monitors_list(self):
return self._spectra_to_monitors_list;
@spectra_to_monitors_list.setter
def spectra_to_monitors_list(self,spectra_list):
""" Sets copy spectra to monitors variable as a list of monitors using different forms of input
"""
if spectra_list is None:
self._copy_spectra_to_monitors=None;
self._spectra_to_monitors_list=None;
return;

if isinstance(spectra_list,str):
if spectra_list is 'None':
self._copy_spectra_to_monitors=None;
self._spectra_to_monitors_list=None;
else:
spectra = spectra_list.split(',');
self._copy_spectra_to_monitors = [];
self._spectra_to_monitors_list = [];
for spectum in spectra :
self._copy_spectra_to_monitors.append(int(spectum));
self._spectra_to_monitors_list.append(int(spectum));
else:
if isinstance(spectra_list,list):
if len(spectra_list) == 0:
self._copy_spectra_to_monitors=None;
self._spectra_to_monitors_list=None;
else:
self._copy_spectra_to_monitors=[];
self._spectra_to_monitors_list=[];
for i in range(0,len(spectra_list)):
self._copy_spectra_to_monitors.append(int(spectra_list[i]));
self._spectra_to_monitors_list.append(int(spectra_list[i]));
else:
self._copy_spectra_to_monitors =[int(spectra_list)];
self._spectra_to_monitors_list =[int(spectra_list)];
return;
@property
def instr_name(self):
Expand Down
42 changes: 21 additions & 21 deletions Code/Mantid/scripts/test/DirectEnergyConversionTest.py
Expand Up @@ -311,27 +311,27 @@ def f_nxs(workspace, filename):
def test_set_spectra_to_mon(self):
tReducer = self.reducer;

tReducer.copy_spectra_to_monitors = 35;
self.assertTrue(isinstance(tReducer.copy_spectra_to_monitors,list));
self.assertEquals(35,tReducer.copy_spectra_to_monitors[0]);

tReducer.copy_spectra_to_monitors = None;
self.assertTrue(tReducer.copy_spectra_to_monitors is None);
tReducer.copy_spectra_to_monitors = 'None';
self.assertTrue(tReducer.copy_spectra_to_monitors is None);
tReducer.copy_spectra_to_monitors = [];
self.assertTrue(tReducer.copy_spectra_to_monitors is None);

tReducer.copy_spectra_to_monitors = '467';
self.assertEquals(467,tReducer.copy_spectra_to_monitors[0]);

tReducer.copy_spectra_to_monitors = '467,444';
self.assertEquals(467,tReducer.copy_spectra_to_monitors[0]);
self.assertEquals(444,tReducer.copy_spectra_to_monitors[1]);

tReducer.copy_spectra_to_monitors = ['467','444'];
self.assertEquals(467,tReducer.copy_spectra_to_monitors[0]);
self.assertEquals(444,tReducer.copy_spectra_to_monitors[1]);
tReducer.spectra_to_monitors_list = 35;
self.assertTrue(isinstance(tReducer.spectra_to_monitors_list,list));
self.assertEquals(35,tReducer.spectra_to_monitors_list[0]);

tReducer.spectra_to_monitors_list = None;
self.assertTrue(tReducer.spectra_to_monitors_list is None);
tReducer.spectra_to_monitors_list = 'None';
self.assertTrue(tReducer.spectra_to_monitors_list is None);
tReducer.spectra_to_monitors_list = [];
self.assertTrue(tReducer.spectra_to_monitors_list is None);

tReducer.spectra_to_monitors_list = '467';
self.assertEquals(467,tReducer.spectra_to_monitors_list[0]);

tReducer.spectra_to_monitors_list = '467,444';
self.assertEquals(467,tReducer.spectra_to_monitors_list[0]);
self.assertEquals(444,tReducer.spectra_to_monitors_list[1]);

tReducer.spectra_to_monitors_list = ['467','444'];
self.assertEquals(467,tReducer.spectra_to_monitors_list[0]);
self.assertEquals(444,tReducer.spectra_to_monitors_list[1]);



Expand Down

0 comments on commit 1fb2657

Please sign in to comment.