Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Run | Input | string | Mandatory | File path of run. Allowed values: [‘nxs’] |
CalibrationWorkspace | Input | MatrixWorkspace | Workspace containing calibration intensities. | |
Analyser | Input | string | silicon | Analyser crystal. Allowed values: [‘silicon’] |
Reflection | Input | string | 111 | Analyser reflection. Allowed values: [‘111’] |
MapFile | Input | string | Filename of the map file to use. If left blank the default will be used. Allowed values: [‘xml’] | |
MirrorMode | Input | boolean | False | Whether to use mirror mode. |
RawWorkspace | Output | MatrixWorkspace | Mandatory | Name for the output raw workspace created. |
ReducedWorkspace | Output | MatrixWorkspace | Mandatory | Name for the output reduced workspace created. If mirror mode is used this will be the sum of both the left and right hand workspaces. |
LeftWorkspace | Output | MatrixWorkspace | Name for the left workspace if mirror mode is used. | |
RightWorkspace | Output | MatrixWorkspace | Name for the right workspace if mirror mode is used. | |
Save | Input | boolean | False | Switch Save result to nxs file Off/On. |
Plot | Input | boolean | False | Whether to plot the output workspace. |
A workflow algorithm to perform a data reduction for Indirect ILL instruments.
Note that currently only IN16B is supported.
When IN16B records data in mirror mode the spectra for the acceleration and deceleration phase of the Doppler drive are recorded separately, the result is each spectra containing two regions for the same energy range.
Enabling MirrorMode on this algorithm will split the data for each spectrum into two separate spectra, these form the “left” and “right” workspaces that are reduced independently and then summed.
Example - Running IndirectILLReduction
IndirectILLReduction(Run='ILLIN16B_034745.nxs',
RawWorkspace='raw_workspace',
ReducedWorkspace='reduced_workspace')
print "Reduced workspace has %d spectra" % mtd['reduced_workspace'].getNumberHistograms()
print "Raw workspace has %d spectra" % mtd['raw_workspace'].getNumberHistograms()
Output:
Reduced workspace has 24 spectra
Raw workspace has 2057 spectra
Example - Running IndirectILLReduction in mirror mode
IndirectILLReduction(Run='ILLIN16B_034745.nxs',
RawWorkspace='raw_workspace',
ReducedWorkspace='reduced_workspace',
LeftWorkspace='reduced_workspace_left',
RightWorkspace='reduced_workspace_right',
MirrorMode=True)
print "Raw workspace has %d spectra" % mtd['raw_workspace'].getNumberHistograms()
print "Reduced workspace has %d spectra" % mtd['reduced_workspace'].getNumberHistograms()
print "Reduced left workspace has %d spectra" % mtd['reduced_workspace_left'].getNumberHistograms()
print "Reduced right workspace has %d spectra" % mtd['reduced_workspace_right'].getNumberHistograms()
Output:
Raw workspace has 2057 spectra
Reduced workspace has 24 spectra
Reduced left workspace has 24 spectra
Reduced right workspace has 24 spectra
Categories: Algorithms | Workflow | MIDAS | Inelastic | PythonAlgorithms
Python: IndirectILLReduction.py