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

HRPDSlabCanAbsorption v1

../_images/HRPDSlabCanAbsorption-v1_dlg.png

HRPDSlabCanAbsorption dialog.

Summary

Calculates attenuation due to absorption and scattering in an HRPD ‘slab’ can.

Properties

Name Direction Type Default Description
InputWorkspace Input MatrixWorkspace Mandatory  
OutputWorkspace Output MatrixWorkspace Mandatory  
SampleAttenuationXSection Input number Optional The ABSORPTION cross-section for the sample material in barns if not set with SetSampleMaterial
SampleScatteringXSection Input number Optional The scattering cross-section (coherent + incoherent) for the sample material in barns if not set with SetSampleMaterial
SampleNumberDensity Input number Optional The number density of the sample in number of atoms per cubic angstrom if not set with SetSampleMaterial
Thickness Input number 0.2 The thickness of the sample in cm. Common values are 0.2, 0.5, 1.0, 1.5
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’]
ElementSize Input number 1 The size of one side of an integration element cube in mm

Description

This algorithm is a refinement of the FlatPlateAbsorption v1 algorithm for the specific case of an HRPD ‘slab can’ sample holder. It uses the aforementioned generic algorithm to calculate the correction due to the sample itself, using numerical integration. This is done using the standard height x width dimensions of an HRPD sample holder of 23 x 18 mm. Valid values of the thickness are 2,5,10 & 15 mm, although this is not currently enforced.

Further corrections are then carried out to account for the 0.125mm Vanadium windows at the front and rear of the sample, and for the aluminium of the holder itself (which is traversed by neutrons en route to the 90 degree bank). This is carried out using an analytical approximation for a flat plate, the correction factor being calculated as \(\rm{exp} \left( \frac{- \rho \left( \sigma_a \frac{ \lambda} {1.798} + \sigma_s \right) t}{\rm{cos} \, \theta} \right)\), where \(\lambda\) is the wavelength, \(\theta\) the angle between the detector and the normal to the plate and the other symbols are as given in the property list above. The assumption is that the neutron enters the plate along the normal.

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.

ChildAlgorithms used

The FlatPlateAbsorption v1 algorithm is used to calculate the correction due to the sample itself.

Usage

Example:

ws = CreateSampleWorkspace("Histogram",NumBanks=1,BankPixelWidth=1)
ws = ConvertUnits(ws,"Wavelength")
ws = Rebin(ws,Params=[1])
SetSampleMaterial(ws,ChemicalFormula="V")

wsOut = HRPDSlabCanAbsorption (ws,Thickness=0.2,ElementSize=2)

print('The created workspace has one entry for each spectra: {:d}'.format(wsOut.getNumberHistograms()))

Output:

The created workspace has one entry for each spectra: 1

Categories: AlgorithmIndex | CorrectionFunctions\AbsorptionCorrections

Source

C++ header: HRPDSlabCanAbsorption.h (last modified: 2020-03-20)

C++ source: HRPDSlabCanAbsorption.cpp (last modified: 2020-04-07)