AnnularRingAbsorption v1

../_images/AnnularRingAbsorption-v1_dlg.png

AnnularRingAbsorption dialog.

Summary

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

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: Algorithms | CorrectionFunctions\AbsorptionCorrections

Source

C++ source: AnnularRingAbsorption.cpp (last modified: 2017-11-14)

C++ header: AnnularRingAbsorption.h (last modified: 2017-11-27)