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

FlatPlateAbsorption v1

../_images/ImageNotFound.png

Enable screenshots using DOCS_SCREENSHOTS in CMake

Summary

Calculates bin-by-bin correction factors for attenuation due to absorption and scattering in a sample of ‘flat plate’ geometry.

See Also

AbsorptionCorrection

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Mandatory

The X values for the input workspace must be in units of wavelength

OutputWorkspace

Output

MatrixWorkspace

Mandatory

Output workspace name

ScatterFrom

Input

string

Sample

The component to calculate the absorption for (default: Sample). Allowed values: [‘Sample’, ‘Container’, ‘Environment’]

AttenuationXSection

Input

number

Optional

The ABSORPTION cross-section, at 1.8 Angstroms, for the sample material in barns. Column 8 of a table generated from http://www.ncnr.nist.gov/resources/n-lengths/.

ScatteringXSection

Input

number

Optional

The (coherent + incoherent) scattering cross-section for the sample material in barns. Column 7 of a table generated from http://www.ncnr.nist.gov/resources/n-lengths/.

SampleNumberDensity

Input

number

Optional

The number density of the sample in number of atoms per cubic angstrom if not set with SetSampleMaterial

NumberOfWavelengthPoints

Input

number

Optional

The number of wavelength points for which the numerical integral is calculated (default: all points)

ExpMethod

Input

string

Normal

Select the method to use to calculate exponentials, normal or a fast approximation (default: Normal). Allowed values: [‘Normal’, ‘FastApprox’]

EMode

Input

string

Elastic

The energy mode (default: elastic). Allowed values: [‘Elastic’, ‘Direct’, ‘Indirect’]

EFixed

Input

number

0

The value of the initial or final energy, as appropriate, in meV. Will be taken from the instrument definition file, if available.

SampleHeight

Input

number

Mandatory

The height of the plate in cm

SampleWidth

Input

number

Mandatory

The width of the plate in cm

SampleThickness

Input

number

Mandatory

The thickness of the plate in cm

ElementSize

Input

number

1

The size of one side of an integration element cube in mm

Description

This algorithm uses a numerical integration method to calculate attenuation factors resulting from absorption and single scattering in a flat plate (slab) sample with the dimensions and material properties given. Factors are calculated for each spectrum (i.e. detector position) and wavelength point, as defined by the input workspace. The sample is divided up into cuboids having sides of as close to the size given in the ElementSize property as the sample dimensions will allow. Thus the calculation speed depends linearly on the total number of bins in the workspace and goes as \(\rm{ElementSize}^{-3}\).

Path lengths through the sample are then calculated for the centre-point of each element and a numerical integration is carried out using these path lengths over the volume elements.

Restrictions on the input workspace

The input workspace must have units of wavelength. The instrument associated with the workspace must be fully defined because detector, source & sample position are needed.

Usage

Example:

ws = CreateSampleWorkspace("Histogram",NumBanks=1,BankPixelWidth=2)
ws = ConvertUnits(ws,"Wavelength")
SetSampleMaterial(ws,ChemicalFormula="V")

wsOut = FlatPlateAbsorption(ws, SampleHeight=1, SampleWidth=0.5, SampleThickness=0.5)

print("The created workspace has one entry for each spectra: %i" % wsOut.getNumberHistograms())

Output:

The created workspace has one entry for each spectra: 4

Categories: AlgorithmIndex | CorrectionFunctions\AbsorptionCorrections

Source

C++ header: FlatPlateAbsorption.h

C++ source: FlatPlateAbsorption.cpp