\(\renewcommand\AA{\unicode{x212B}}\)
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++ header: SphericalAbsorption.h (last modified: 2021-03-31)
C++ source: SphericalAbsorption.cpp (last modified: 2021-03-31)