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

AnnularRingAbsorption v1

Summary

Calculates bin-by-bin correction factors for attenuation due to absorption in a cylindrical sample in the wall of a hollow can

See Also

AbsorptionCorrection

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Mandatory

The input workspace in units of wavelength.

OutputWorkspace

Output

MatrixWorkspace

Mandatory

The name to use for the output workspace.

CanOuterRadius

Input

number

Mandatory

The outer radius of the can in centimetres

CanInnerRadius

Input

number

Mandatory

The inner radius of the can in centimetres

SampleHeight

Input

number

Mandatory

The height of the sample in centimetres

SampleThickness

Input

number

Mandatory

The thickness of the sample in centimetres

SampleChemicalFormula

Input

string

Mandatory

Chemical composition of the sample material

SampleNumberDensity

Input

number

Mandatory

The number density of the sample in number of formulas per cubic angstrom

NumberOfWavelengthPoints

Input

number

Optional

The number of wavelength points for which a simulation is atttempted (default: all points)

EventsPerPoint

Input

number

300

The number of “neutron” events to generate per simulated point

SeedValue

Input

number

123456789

Seed the random number generator with this value

Description

Sets up a hollow sample shape, along with the required material properties, and runs the MonteCarloAbsorption algorithm. This algorithm merely serves as a simpler interface to define the shape & material of the sample without having to resort to the more complex CreateSampleShape & SetSampleMaterial algorithms. The computational part is all taken care of by MonteCarloAbsorption. Please see that documentation for more details.

Assumptions

The algorithm currently assumes that the can wall is sufficiently thin & a weak absorber so that it can be ignored.

Usage

Example

sample_ws = CreateSampleWorkspace("Histogram",NumBanks=1) # fake some data in TOF
sample_ws = ConvertUnits(sample_ws, Target="Wavelength")
factors = \
  AnnularRingAbsorption(sample_ws,
    SampleHeight=3.8, SampleThickness=0.05, CanOuterRadius=1.1,CanInnerRadius=0.92,
    SampleChemicalFormula="Li2-Ir-O3",SampleNumberDensity=0.004813,
    EventsPerPoint=300)

print("The created workspace has one entry for each spectra: {}".format(factors.getNumberHistograms()))
print("Just divide your data by the correction to correct for absorption.")

Output:

The created workspace has one entry for each spectra: 100
Just divide your data by the correction to correct for absorption.

Categories: AlgorithmIndex | CorrectionFunctions\AbsorptionCorrections

Source

C++ header: AnnularRingAbsorption.h

C++ source: AnnularRingAbsorption.cpp