IndirectFlatPlateAbsorption v1

../_images/IndirectFlatPlateAbsorption-v1_dlg.png

IndirectFlatPlateAbsorption dialog.

Summary

Calculates indirect absorption corrections for a flat sample shape.

Properties

Name Direction Type Default Description
SampleWorkspace Input MatrixWorkspace Mandatory Sample workspace
SampleChemicalFormula Input string Mandatory Chemical formula for the sample
SampleNumberDensity Input number 0.1 Sample number density
SampleHeight Input number 1 Sample height
SampleWidth Input number 1 Sample width
SampleThickness Input number 0.5 Sample thickness
CanWorkspace Input MatrixWorkspace   Container workspace
UseCanCorrections Input boolean False Use can corrections in subtraction
CanChemicalFormula Input string   Chemical formula for the Container
CanNumberDensity Input number 0.1 Container number density
CanFrontThickness Input number 0.1 Can front thickness
CanBackThickness Input number 0.1 Can back thickness
CanScaleFactor Input number 1 Scale factor to multiply can data
ElementSize Input number 0.1 Element size in mm
Plot Input boolean False Plot options
OutputWorkspace Output MatrixWorkspace Mandatory The output corrected workspace
CorrectionsWorkspace Output WorkspaceGroup   The workspace group to save correction factors

Description

Calculates and applies corrections for scattering abs absorption in a flat plate sample for a run on an indirect inelastic instrument, optionally allowing for the subtraction or corrections of the container.

The correction factor workspace is a workspace group containing the correction factors in the Paalman and Pings format, note that only {A_{s,s}} and A_{c,c} factors are calculated by thsi algorithm.

Usage

Note

To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.

Example - Sample corrections for IRIS:

red_ws = LoadNexusProcessed(Filename='irs26176_graphite002_red.nxs')
can_ws = LoadNexusProcessed(Filename='irs26173_graphite002_red.nxs')

corrected, fact = IndirectFlatPlateAbsorption(SampleWorkspace=red_ws,
                                              SampleChemicalFormula='H2-O',
                                              CanWorkspace=can_ws,
                                              CanScaleFactor=0.8,
                                              SampleHeight=1,
                                              SampleWidth=1,
                                              SampleThickness=1,
                                              ElementSize=1,
                                              UseCanCorrections=False)

ass = fact[0]

print ('Corrected workspace is intensity against %s'
      % (corrected.getAxis(0).getUnit().caption()))

print ('Ass workspace is %s against %s'
      % (ass.YUnitLabel(), ass.getAxis(0).getUnit().caption()))

Output:

Corrected workspace is intensity against Energy transfer
Ass workspace is Attenuation factor against Wavelength

Example - Sample and container corrections for IRIS:

red_ws = LoadNexusProcessed(Filename='irs26176_graphite002_red.nxs')
can_ws = LoadNexusProcessed(Filename='irs26173_graphite002_red.nxs')

corrected, fact = IndirectFlatPlateAbsorption(SampleWorkspace=red_ws,
                                              SampleChemicalFormula='H2-O',
                                              CanWorkspace=can_ws,
                                              CanChemicalFormula='V',
                                              CanScaleFactor=0.8,
                                              SampleHeight=1,
                                              SampleWidth=1,
                                              SampleThickness=1,
                                              ElementSize=1,
                                              UseCanCorrections=True)

ass = fact[0]
acc = fact[1]

print ('Corrected workspace is intensity against %s'
      % (corrected.getAxis(0).getUnit().caption()))

print ('Ass workspace is %s against %s'
      % (ass.YUnitLabel(), ass.getAxis(0).getUnit().caption()))

print ('Acc workspace is %s against %s'
      % (acc.YUnitLabel(), acc.getAxis(0).getUnit().caption()))

Output:

Corrected workspace is intensity against Energy transfer
Ass workspace is Attenuation factor against Wavelength
Acc workspace is Attenuation factor against Wavelength

Categories: Algorithms | Workflow | Inelastic | PythonAlgorithms | CorrectionFunctions | AbsorptionCorrections | Workflow | MIDAS