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

SphericalAbsorption v1

Summary

Calculates bin-by-bin or event correction factors for attenuation due to absorption and scattering in a ‘spherical’ sample.

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

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 centimetresif not set with SetSample.

Description

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.

Usage

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.8693233  0.81842536 0.77068608 0.72590446 0.68389228 0.65847929]

Categories: AlgorithmIndex | CorrectionFunctions\AbsorptionCorrections

Source

C++ header: SphericalAbsorption.h

C++ source: SphericalAbsorption.cpp