diff --git a/Code/Mantid/instrument/LET_Parameters.xml b/Code/Mantid/instrument/LET_Parameters.xml index 03d3dab8b293..08d7f56a047d 100644 --- a/Code/Mantid/instrument/LET_Parameters.xml +++ b/Code/Mantid/instrument/LET_Parameters.xml @@ -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 --> - + diff --git a/Code/Mantid/instrument/MERLIN_Parameters.xml b/Code/Mantid/instrument/MERLIN_Parameters.xml index 6ba287c74df0..378bacdd1b7d 100644 --- a/Code/Mantid/instrument/MERLIN_Parameters.xml +++ b/Code/Mantid/instrument/MERLIN_Parameters.xml @@ -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 --> - + diff --git a/Code/Mantid/scripts/Inelastic/CommonFunctions.py b/Code/Mantid/scripts/Inelastic/CommonFunctions.py index 9d1efc64a000..8615d9e41f84 100644 --- a/Code/Mantid/scripts/Inelastic/CommonFunctions.py +++ b/Code/Mantid/scripts/Inelastic/CommonFunctions.py @@ -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 diff --git a/Code/Mantid/scripts/Inelastic/DirectEnergyConversion.py b/Code/Mantid/scripts/Inelastic/DirectEnergyConversion.py index 7c9465e6ebe6..ad5799b86258 100644 --- a/Code/Mantid/scripts/Inelastic/DirectEnergyConversion.py +++ b/Code/Mantid/scripts/Inelastic/DirectEnergyConversion.py @@ -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): @@ -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) @@ -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): diff --git a/Code/Mantid/scripts/test/DirectEnergyConversionTest.py b/Code/Mantid/scripts/test/DirectEnergyConversionTest.py index 6b3590ab9e90..e7ee5411d4ce 100644 --- a/Code/Mantid/scripts/test/DirectEnergyConversionTest.py +++ b/Code/Mantid/scripts/test/DirectEnergyConversionTest.py @@ -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]);