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

CalculateTransmission v1

../_images/ImageNotFound.png

Enable screenshots using DOCS_SCREENSHOTS in CMake

Summary

Calculates the transmission correction, as a function of wavelength, for a SANS instrument.

See Also

CalculateTransmissionBeamSpreader, ApplyTransmissionCorrection

Properties

Name

Direction

Type

Default

Description

SampleRunWorkspace

Input

MatrixWorkspace

Mandatory

The workspace containing the sample transmission run. Must have common binning and be in units of wavelength.

DirectRunWorkspace

Input

MatrixWorkspace

Mandatory

The workspace containing the direct beam (no sample) transmission run. The units and binning must match those of the SampleRunWorkspace.

OutputWorkspace

Output

MatrixWorkspace

Mandatory

The name of the workspace in which to store the fitted transmission fractions.

IncidentBeamMonitor

Input

number

Optional

The UDET of the incident beam monitor

TransmissionMonitor

Input

number

Optional

The UDET of the transmission monitor

RebinParams

Input

dbl list

A comma separated list of first bin boundary, width, last bin boundary. Optionally this can be followed by a comma and more widths and last boundary pairs. Negative width values indicate logarithmic binning.

FitMethod

Input

string

Log

Whether to fit directly to the transmission curve using Linear, Log or Polynomial. Allowed values: [‘Linear’, ‘Log’, ‘Polynomial’]

PolynomialOrder

Input

number

2

Order of the polynomial to fit. It is considered only for FitMethod=Polynomial

OutputUnfittedData

Input

boolean

False

If True, will output an additional workspace called [OutputWorkspace]_unfitted containing the unfitted transmission correction.

TransmissionROI

Input

int list

An optional ArrayProperty containing a list of detector ID’s. These specify a region of interest which is to be summed and then used instead of a transmission monitor. This allows for a “beam stop out” method of transmission calculation.

Description

Calculates the probability of a neutron being transmitted through the sample using detected counts from two monitors, one in front and one behind the sample. A data workspace can be corrected for transmission by dividing by the output of this algorithm.

Because the detection efficiency of the monitors can be different the transmission calculation is done using two runs, one run with the sample (represented by \(S\) below) and a direct run without it (\(D\)). The fraction transmitted through the sample \(f\) is calculated from this formula:

where \(S_I\) is the number of counts from the monitor in front of the sample (the incident beam monitor), \(S_T\) is the transmission monitor after the sample, etc.

The resulting fraction as a function of wavelength is created as the OutputUnfittedData workspace. However, because of statistical variations it is recommended to use the OutputWorkspace, which is the evaluation of a fit to those transmission fractions. The unfitted data is not affected by the RebinParams or Fitmethod properties but these can be used to refine the fitted data. The RebinParams method is useful when the range of wavelengths passed to CalculateTransmission is different from that of the data to be corrected.

ChildAlgorithms used

Uses the algorithm Fit to fit to the calculated transmission fraction.

Categories: AlgorithmIndex | SANS | CorrectionFunctions\TransmissionCorrections

Source

C++ header: CalculateTransmission.h

C++ source: CalculateTransmission.cpp