\(\renewcommand\AA{\unicode{x212B}}\)
CorelliCalibrationApply v1¶
Summary¶
Apply Corelli calibration results onto input workspace
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
Workspace |
InOut |
Mandatory |
CORELLI workspace to calibrate |
|
CalibrationTable |
Input |
Mandatory |
TableWorkspace containing calibration table |
Description¶
Update the CORELLI instrument geometry with calibration data stored in a predefined calibration table workspace. The current inputs are:
Workspace: EventWorkspace generated from CORELLI instrument
CalibrationTable: TableWorkspace with predefined layout.
The calibration table must have the following columns
ComponentName: name of each component in the CORELLI instrument
Xposition, Yposition, Zposition: these three columns specify the absolute translation in the calibration for each component
XdirectionCosine, YdirectionCosine, ZdirectionCosine: these three columns specify the rotation axis (direction cosione) for each component
RotationAngle: the absolute rotation angle in degrees for each component
Applying the calibration involves the following steps:
translate each component by
(Xposition, Yposition, Zposition)
rotate each component by
RotationAngle
degrees around rotation axis(directionCosine, YdirectionCosine, ZdirectionCosine)
Usage¶
Example - move bank42 (perpendicular to x-axis) 180 around y-axis
# 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
Source¶
C++ header: CorelliCalibrationApply.h
C++ source: CorelliCalibrationApply.cpp