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

ConvertDiffCal v1

Summary

Convert diffraction calibration from old to new style

See Also

CalculateDIFC

Properties

Name

Direction

Type

Default

Description

OffsetsWorkspace

Input

OffsetsWorkspace

Mandatory

OffsetsWorkspace containing the calibration offsets.

PreviousCalibration

Input

TableWorkspace

A calibration table used as a cache for creating the OutputWorkspace. Effectively, this algorithm applies partial updates to this table and returns it as the OutputWorkspace

OffsetMode

Input

string

Relative

Optional: Whether to calculate a relative, absolute, or signed offset. Allowed values: [‘Relative’, ‘Absolute’, ‘Signed’]

BinWidth

Input

number

Optional

Optional: The bin width of the X axis. If using ‘Signed’ OffsetMode, this value is mandatory

OutputWorkspace

Output

TableWorkspace

Mandatory

An output workspace.

Description

Generates a calibration table based on d-spacing detector offsets provided in an OffsetsWorkspace. Optionally updates detector calibrations from an existing calibration file. Each detector offset in the OffsetsWorkspace is processed as follows:

If the detector is masked, its \(DIFC\) will not be calculated or updated.

If a PreviousCalibration entry exists for the detector, the detector entry’s \(DIFC\) will be updated as follows and reflected in the final calibration table:

\[DIFC_{new} = \frac{DIFC_{old}}{1+offset}\]

If a prior calibration entry does not exist for the detector, calculate the \(DIFC\) as follows using geometry of the experiment:

\[DIFC = \frac{1}{1+offset}\frac{2m_N}{h} L_{tot} sin \theta\]

If a detector is present in the PreviousCalibration table but is not found in the OffsetsWorkspace, it will be propagated to the output calibration table unchanged.

If Signed offset mode is specified, the \(DIFC\) will be calculated or updated with the following equations:

Update existing calibration:

\[DIFC = DIFC_{old} \cdot (1+|BinWidth|)^{-offset}\]

Calculate \(DIFC\) from geometry of the experiment:

\[DIFC = \frac{m_n}{h} \cdot (L1 + L2) 2 \sin(\theta) \cdot (1+|BinWidth|)^{-offset}\]

The calculations for signed mode is appropriate for full-pattern cross-correlation with logarithmically binned data

Usage

Note

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

Example - ConvertDiffCal

The file needed for this example are not present in our standard usage data download due to its size. It be downloaded from pg3_mantid_det.cal.

LoadCalFile(InstrumentName="PG3",
            CalFilename="pg3_mantid_det.cal",
            MakeGroupingWorkspace=False,
            MakeOffsetsWorkspace=True,
            MakeMaskWorkspace=False,
            WorkspaceName="PG3")
PG3_cal=ConvertDiffCal(OffsetsWorkspace="PG3_offsets",
                       OutputWorkspace="PG3_cal")

Categories: AlgorithmIndex | Diffraction\Utility

Source

C++ header: ConvertDiffCal.h

C++ source: ConvertDiffCal.cpp