\(\renewcommand\AA{\unicode{x212B}}\)

IndirectAnnulusAbsorption v2

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.

Workflow

../_images/IndirectAnnulusAbsorption-v2_wkflw.svg

Usage

Note

To run these usage examples please first download the usage data, and add these to your path. In Mantid 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: AlgorithmIndex | Workflow\Inelastic | CorrectionFunctions\AbsorptionCorrections | Workflow\MIDAS

Source

Python: IndirectAnnulusAbsorption2.py