CylinderPaalmanPingsCorrection v2

../_images/CylinderPaalmanPingsCorrection-v2_dlg.png

CylinderPaalmanPingsCorrection dialog.

Summary

Calculates absorption corrections for a cylindrical or annular sample using Paalman & Pings format.

Properties

Name Direction Type Default Description
SampleWorkspace Input MatrixWorkspace Mandatory Name for the input Sample workspace.
SampleChemicalFormula Input string   Sample chemical formula
SampleCoherentXSection Input number 0 The coherent cross-section for the sample material in barns. To be used instead of Chemical Formula.
SampleIncoherentXSection Input number 0 The incoherent cross-section for the sample material in barns. To be used instead of Chemical Formula.
SampleAttenuationXSection Input number 0 The absorption cross-section for the sample material in barns. To be used instead of Chemical Formula.
SampleDensityType Input string Mass Density Use of Mass density or Number density for the sample. Allowed values: [‘Mass Density’, ‘Number Density’]
SampleNumberDensityUnit Input string Atoms Choose which units SampleDensity refers to. Allowed values: [Atoms, Formula Units]. Allowed values: [‘Atoms’, ‘Formula Units’]
SampleDensity Input number 0.1 The value for the sample Mass density (g/cm^3) or Number density (1/Angstrom^3).
SampleInnerRadius Input number 0.05 Sample inner radius
SampleOuterRadius Input number 0.1 Sample outer radius
CanWorkspace Input MatrixWorkspace   Name for the input Can workspace.
CanChemicalFormula Input string   Can chemical formula
CanCoherentXSection Input number 0 The coherent cross-section for the can material in barns. To be used instead of Chemical Formula.
CanIncoherentXSection Input number 0 The incoherent cross-section for the can material in barns. To be used instead of Chemical Formula.
CanAttenuationXSection Input number 0 The absorption cross-section for the can material in barns. To be used instead of Chemical Formula.
CanDensityType Input string Mass Density Use of Mass density or Number density for the can. Allowed values: [‘Mass Density’, ‘Number Density’]
CanNumberDensityUnit Input string Atoms Choose which units CanDensity refers to. Allowed values: [Atoms, Formula Units]. Allowed values: [‘Atoms’, ‘Formula Units’]
CanDensity Input number 0.1 The value for the can Mass density (g/cm^3) or Number density (1/Angstrom^3).
CanOuterRadius Input number 0.15 Can outer radius
BeamHeight Input number 3 Beam height
BeamWidth Input number 2 Beam width
StepSize Input number 0.002 Step size
Interpolate Input boolean True Interpolate the correction workspaces to match the sample workspace
NumberWavelengths Input number 10 Number of wavelengths for calculation
Emode Input string Elastic Energy transfer mode. Allowed values: [‘Elastic’, ‘Indirect’, ‘Direct’, ‘Efixed’]
Efixed Input number 0 Analyser energy (mev). By default will be read from the instrument parameters. Specify manually to override. This is used in energy transfer modes other than Elastic.
OutputWorkspace Output WorkspaceGroup Mandatory The output corrections workspace group

Description

Calculates absorption corrections for a cylindrical or annular sample giving output in the Paalman and Pings absorption factors: A_{s,s} (correction factor for scattering and absorption in sample), A_{s,sc} (scattering in sample and absorption in sample and container), A_{c,sc} (scattering in container and absorption in sample and container) and A_{c,c} (scattering and absorption in container).

Restrictions on the input workspace

The input workspace must have a fully defined instrument.

Energy transfer modes

The algorithm operates in different energy transfer modes, where the incident (\lambda_1) and the final (\lambda_2) wavelengths are defined as follows:

  • Elastic : \lambda_1 = \lambda_2 = \lambda_{step}
  • Direct : \lambda_1 = \lambda_{fixed}, \lambda_2 = \lambda_{step}
  • Indirect : \lambda_1 = \lambda_{step}, \lambda_2 = \lambda_{fixed}
  • Efixed : \lambda_1 = \lambda_2 = \lambda_{fixed},

where \lambda_{fixed} is computed from the Efixed value corresponding to the monochromator or the analyser, and \lambda_{step} iterates equidistantly over the wavelength points in the input workspace x-axis, controlled by NumberWavelengths property.

Therefore, in all the modes except Efixed, the input workspaces must have the x-axis unit of Wavelength. In all the modes except Elastic, Efixed value is needed. By default it will be attempted to be read from the instrument parameters, but can be overridden by the homonym property. In the Efixed mode the NumberWavelengths and Interpolate options will be ignored.

Usage

Example:

# Create a sample workspace
sample = CreateSampleWorkspace(NumBanks=1, BankPixelWidth=1,
                               XUnit='Wavelength',
                               XMin=6.8, XMax=7.9,
                               BinWidth=0.1)

# Copy and scale it to make a can workspace
can = CloneWorkspace(InputWorkspace=sample)
can = Scale(InputWorkspace=can, Factor=1.2)

# Calculate absorption corrections
corr = CylinderPaalmanPingsCorrection(SampleWorkspace=sample,
                                      SampleChemicalFormula='H2-O',
                                      SampleInnerRadius=0.05,
                                      SampleOuterRadius=0.1,
                                      CanWorkspace=can,
                                      CanChemicalFormula='V',
                                      CanOuterRadius=0.15,
                                      BeamHeight=0.1,
                                      BeamWidth=0.1,
                                      StepSize=0.002,
                                      Emode='Indirect',
                                      Efixed=1.845)

print('Correction workspaces: {}'.format((', '.join(corr.getNames()))))

Output:

Correction workspaces: corr_ass, corr_assc, corr_acsc, corr_acc

Source

Python: CylinderPaalmanPingsCorrection2.py (last modified: 2019-04-04)