CalculateTransmission v1


CalculateTransmission dialog.


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


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.


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: Algorithm Index | SANS | CorrectionFunctions\TransmissionCorrections


C++ source: CalculateTransmission.cpp (last modified: 2018-10-05)

C++ header: CalculateTransmission.h (last modified: 2018-10-05)