IndirectAnnulusAbsorption v2

../_images/IndirectAnnulusAbsorption-v2_dlg.png

IndirectAnnulusAbsorption dialog.

Summary

Calculates indirect absorption corrections for an annulus sample shape.

Properties

Name Direction Type Default Description
SampleWorkspace Input MatrixWorkspace Mandatory Sample workspace.
SampleChemicalFormula Input string Mandatory Sample chemical formula
SampleDensityType Input string Mass Density Use of Mass density or Number density. Allowed values: [‘Mass Density’, ‘Number Density’]
SampleDensity Input number 0.1 Mass density (g/cm^3) or Number density (atoms/Angstrom^3)
SampleInnerRadius Input number 0.23 Sample radius
SampleOuterRadius Input number 0.27 Sample radius
SampleHeight Input number 1 Sample height
CanWorkspace Input MatrixWorkspace   Container workspace.
UseCanCorrections Input boolean False Use Container corrections in subtraction
CanChemicalFormula Input string   Chemical formula for the Container
CanDensityType Input string Mass Density Container density type. Allowed values: [‘Mass Density’, ‘Number Density’]
CanDensity Input number 1 Container number density
CanInnerRadius Input number 0.19 Container inner radius
CanOuterRadius Input number 0.35 Container outer radius
CanScaleFactor Input number 1 Scale factor to multiply Container data
BeamHeight Input number 1 Height of the beam (cm)
BeamWidth Input number 1 Width of the beam (cm)
NumberWavelengths Input number 10 Number of wavelengths for calculation
Events Input number 1000 Number of neutron events
OutputWorkspace Output MatrixWorkspace Mandatory The output corrected workspace.
CorrectionsWorkspace Output WorkspaceGroup   The corrections workspace for scattering and absorptions in sample.

Description

Calculates and applies corrections for scattering abs absorption in a annular sample for a run on an indirect inelastic instrument, optionally allowing for the subtraction or corrections of the container. Uses MonteCarloAbsorption to calculate the corrections.

The correction factor workspace is a workspace group containing the correction factors in the Paalman and Pings format, note that only {A_{s,s}} and A_{c,c} factors are calculated by this algorithm.

Usage

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 = IndirectAnnulusAbsorption(SampleWorkspace=red_ws,
                                            SampleChemicalFormula='H2-O',
                                            CanWorkspace=can_ws,
                                            CanScaleFactor=0.8,
                                            CanInnerRadius=0.19,
                                            SampleInnerRadius=0.2,
                                            SampleOuterRadius=0.25,
                                            CanOuterRadius=0.26,
                                            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 corrections for IRIS:

red_ws = LoadNexusProcessed(Filename='irs26176_graphite002_red.nxs')
can_ws = LoadNexusProcessed(Filename='irs26173_graphite002_red.nxs')

corrected, fact = IndirectAnnulusAbsorption(SampleWorkspace=red_ws,
                                            SampleChemicalFormula='H2-O',
                                            CanWorkspace=can_ws,
                                            CanChemicalFormula='H2-O',
                                            CanInnerRadius=0.19,
                                            SampleInnerRadius=0.23,
                                            SampleOuterRadius=0.27,
                                            CanOuterRadius=0.35,
                                            Events=100,
                                            UseCanCorrections=True)

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 | CorrectionFunctions\AbsorptionCorrections | Workflow\MIDAS

Source

Python: IndirectAnnulusAbsorption2.py (last modified: 2017-02-07)