\(\renewcommand\AA{\unicode{x212B}}\)
Table of Contents
| Name | Direction | Type | Default | Description | 
|---|---|---|---|---|
| Workspace | InOut | MatrixWorkspace | Mandatory | CORELLI workspace to calibrate | 
| CalibrationTable | Input | TableWorkspace | Mandatory | TableWorkspace containing calibration table | 
Update the CORELLI instrument geometry with calibration data stored in a predefined calibration table workspace. The current inputs are:
The calibration table must have the following columns
Applying the calibration involves the following steps:
(Xposition, Yposition, Zposition)RotationAngle degrees around rotation axis (directionCosine, YdirectionCosine, ZdirectionCosine)# import mantid algorithms, numpy and matplotlib
from mantid.simpleapi import *
import matplotlib.pyplot as plt
import numpy as np
# setting up a mocked calibration table
calitable = CreateEmptyTableWorkspace()
headers = [
    "ComponentName",
    "Xposition", "Yposition", "Zposition",
    "XdirectionCosine", "YdirectionCosine", "ZdirectionCosine", "RotationAngle",
    ]
datatypes = ["str"] + ["double"]*7
for dt, hd in zip(datatypes, headers):
    calitable.addColumn(dt, hd)
calitable.addRow(["bank42/sixteenpack", 0., 0, 0., 0,1,0,180])  # move to (0,0,0) and rotate to (0,1,0)@180degree
# laod emptry instrument
ws_original = LoadEmptyInstrument("CORELLI_Definition.xml")
ws_calibrated = ConvertToEventWorkspace(ws_original)
# apply the calibration to ws
CorelliCalibrationApply(ws_calibrated, calitable)  # in-place operation
The original instrument view
and the calibrated instrument view (notice one panel is moved to the center and rotate to (0,1,0)@180 degree)
Categories: AlgorithmIndex | Diffraction\Calibration
C++ header: CorelliCalibrationApply.h (last modified: 2021-03-31)
C++ source: CorelliCalibrationApply.cpp (last modified: 2021-03-31)