Table of Contents
Calculates bin-by-bin correction factors for attenuation due to absorption and scattering in a sample of ‘flat plate’ geometry.
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 |
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 .
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.
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.
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
C++ source: FlatPlateAbsorption.cpp (last modified: 2018-10-05)
C++ header: FlatPlateAbsorption.h (last modified: 2018-10-05)