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

IndirectFlatPlateAbsorption v2

Summary

Calculates indirect absorption corrections for a flat sample shape.

Properties

Name

Direction

Type

Default

Description

SampleWorkspace

Input

MatrixWorkspace

Mandatory

Sample workspace

SampleChemicalFormula

Input

string

Mandatory

Chemical formula for the sample

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)

SampleHeight

Input

number

1

Sample height

SampleWidth

Input

number

1

Sample width

SampleThickness

Input

number

0.5

Sample thickness

SampleAngle

Input

number

0

Sample angle

CanWorkspace

Input

MatrixWorkspace

Container workspace

UseCanCorrections

Input

boolean

False

Use can corrections in subtraction

CanChemicalFormula

Input

string

Chemical formula for the Container

CanDensityType

Input

string

Mass Density

Use of Mass density or Number density. Allowed values: [‘Mass Density’, ‘Number Density’]

CanDensity

Input

number

0.1

Mass density (g/cm^3) or Number density (atoms/Angstrom^3)

CanFrontThickness

Input

number

0.1

Can front thickness

CanBackThickness

Input

number

0.1

Can back thickness

CanScaleFactor

Input

number

1

Scale factor to multiply can 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 workspace group to save correction factors

Description

Calculates and applies corrections for scattering abs absorption in a flat plate 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/IndirectFlatPlateAbsorption-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 = IndirectFlatPlateAbsorption(SampleWorkspace=red_ws,
                                              SampleChemicalFormula='H2-O',
                                              CanWorkspace=can_ws,
                                              CanScaleFactor=0.8,
                                              SampleHeight=1,
                                              SampleWidth=1,
                                              SampleThickness=1,
                                              Events=100,
                                              UseCanCorrections=False)

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 = IndirectFlatPlateAbsorption(SampleWorkspace=red_ws,
                                              SampleChemicalFormula='H2-O',
                                              CanWorkspace=can_ws,
                                              CanChemicalFormula='V',
                                              CanScaleFactor=0.8,
                                              SampleHeight=1,
                                              SampleWidth=1,
                                              SampleThickness=1,
                                              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: IndirectFlatPlateAbsorption2.py