Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
SampleWorkspace | Input | MatrixWorkspace | Mandatory | Sample workspace. |
SampleChemicalFormula | Input | string | Mandatory | Sample chemical formula |
SampleNumberDensity | Input | number | 0.1 | Sample number density |
SampleRadius | Input | number | 0.1 | Sample radius |
CanWorkspace | Input | MatrixWorkspace | Container workspace. | |
UseCanCorrections | Input | boolean | False | Use can corrections in subtraction |
CanChemicalFormula | Input | string | Can chemical formula | |
CanNumberDensity | Input | number | 0.1 | Can number density |
CanRadius | Input | number | 0.2 | Can radius |
CanScaleFactor | Input | number | 1 | Scale factor to multiply can data |
Events | Input | number | 5000 | Number of neutron events |
Plot | Input | boolean | False | Plot options |
OutputWorkspace | Output | MatrixWorkspace | Mandatory | The output corrected workspace. |
CorrectionsWorkspace | Output | WorkspaceGroup | The corrections workspace for scattering and absorptions in sample. |
Calculates and applies corrections for scattering and absorption in a cylindrical sample for a run on an indirect inelastic instrument, optionally allowing for the subtraction or corrections of the container.
The correction factor workspace is a workspace group containing the correction factors in the Paalman and Pings format, note that only and factors are calculated by thsi algorithm.
Note
To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.
Example - Sample corrections for IRIS:
red_ws = LoadNexusProcessed(Filename='irs26176_graphite002_red.nxs')
can_ws = LoadNexusProcessed(Filename='irs26173_graphite002_red.nxs')
corrected, fact = IndirectCylinderAbsorption(SampleWorkspace=red_ws,
SampleChemicalFormula='H2-O',
CanWorkspace=can_ws,
CanScaleFactor=0.8,
SampleRadius=0.2,
UseCanCorrections=False,
Events=100)
ass = fact[0]
print ('Corrected workspace is intensity against %s'
% (corrected.getAxis(0).getUnit().caption()))
print ('Ass workspace is %s against %s'
% (ass.YUnitLabel(), ass.getAxis(0).getUnit().caption()))
Output:
Corrected workspace is intensity against Energy transfer
Ass workspace is Attenuation factor against Wavelength
Example - Sample and container corrections for IRIS:
red_ws = LoadNexusProcessed(Filename='irs26176_graphite002_red.nxs')
can_ws = LoadNexusProcessed(Filename='irs26173_graphite002_red.nxs')
corrected, fact = IndirectCylinderAbsorption(SampleWorkspace=red_ws,
SampleChemicalFormula='H2-O',
SampleRadius=0.2,
CanWorkspace=can_ws,
CanScaleFactor=0.8,
CanChemicalFormula='V',
CanRadius=0.22,
UseCanCorrections=True,
Events=100)
ass = fact[0]
acc = fact[1]
print ('Corrected workspace is intensity against %s'
% (corrected.getAxis(0).getUnit().caption()))
print ('Ass workspace is %s against %s'
% (ass.YUnitLabel(), ass.getAxis(0).getUnit().caption()))
print ('Acc workspace is %s against %s'
% (acc.YUnitLabel(), acc.getAxis(0).getUnit().caption()))
Output:
Corrected workspace is intensity against Energy transfer
Ass workspace is Attenuation factor against Wavelength
Acc workspace is Attenuation factor against Wavelength
Categories: Algorithms | Workflow | Inelastic | PythonAlgorithms | CorrectionFunctions | AbsorptionCorrections | Workflow | MIDAS
Python: IndirectCylinderAbsorption.py