Table of Contents
Calculates bin-by-bin or event correction factors for attenuation due to absorption and scattering in a ‘spherical’ sample.
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 |
AttenuationXSection | Input | number | Optional | The ‘’‘absorption’‘’ cross-section, at 1.8 Angstroms, for the sample material in barns, if not set with SetSampleMaterial. |
ScatteringXSection | Input | number | Optional | The (coherent + incoherent) scattering cross-section 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 |
SphericalSampleRadius | Input | number | Optional | The radius of the spherical sample in centimetres |
Calculates bin-by-bin or event correction factors for attenuation due to absorption and scattering in a spherical sample. Sample data should be divided by these corrections. Algorithm calls AnvredCorrection v1.
Example: A simple spherical sample
ws = CreateSampleWorkspace("Histogram",NumBanks=1,BankPixelWidth=1)
ws = ConvertUnits(ws,"Wavelength")
ws = Rebin(ws,Params=[1])
SetSampleMaterial(ws,ChemicalFormula="V")
#restrict the number of wavelength points to speed up the example
wsOut = SphericalAbsorption(ws,SphericalSampleRadius=0.2)
print("The created workspace has spectra: {}".format(wsOut.readY(0)))
Output:
The created workspace has spectra: [ 0.8451289 0.79101809 0.74254761 0.69867599 0.65861079 0.63477521]
Categories: AlgorithmIndex | CorrectionFunctions\AbsorptionCorrections
C++ source: SphericalAbsorption.cpp (last modified: 2019-08-22)
C++ header: SphericalAbsorption.h (last modified: 2018-10-05)