\(\renewcommand\AA{\unicode{x212B}}\)
FindGoniometerFromUB v1¶
Summary¶
Takes a series of exported UB (from SaveISawUB) and using the first UB supplied as a reference saves UB files that share common indexing (i.e. no inversion or swapping of crystallographic axes relative to the reference UB) in the default save directory and produces a table of the goniometer angle (phi) and the unit vector of the goniometer axis for each run (excl. the reference).
See Also¶
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
UBfiles |
Input |
list of str lists |
Mandatory |
Files with exported UB (from SaveISawUB). The filename must have .mat extension and only contain the run number as would be supplied to Load (e.g. WISH00043350.mat). The first UB will be the reference (typically, but not necessarily, omega = phi = 0) and a consistent UB will be made for each of the subsequent runs. Allowed extensions: [‘.mat’] |
Chi |
Input |
number |
45 |
Angle of the goniometer axis from +ve Z (vertical up). |
ChiTol |
Input |
number |
5 |
Tolerance of chi angle to test for consistency. |
PhiTol |
Input |
number |
15 |
Tolerance of phi angle to test for consistency (due to uncertainty on the gonio axis at omega=0this tol might need to be quite large). |
PhiHand |
Input |
number |
1 |
Handedness for the phi angles (rotation around goniometer axis) in the log file (1 for ccw/RH, -1 for cw/LH). Allowed values: [‘-1’, ‘1’] |
PhiLogName |
Input |
string |
ewald_pos |
Name of log entry that records angle of rotation about goniometer axis |
DOmega |
Input |
number |
0 |
omega rotation between component of goniometer axis in XY-plane from +ve Y-axis(perpendicular to ki) |
OmegaHand |
Input |
number |
1 |
Handedness for the omega angles (rotation around +ve Z) in the log file (1 for ccw/RH, -1 for cw/LH). Allowed values: [‘-1’, ‘1’] |
OmegaLogName |
Input |
string |
ccr_pos |
Name of log entry that records angle of rotation about vertical axis |
OutputTable |
Output |
Mandatory |
Output table to display goniometer axis and angles for runs with UBs that can share common indexing |
Description¶
Takes a list of exported UB files (from SaveISawUB) and saves (in the default save directory) UB files that are consistent with the first UB file specified such that the same reflection in different runs has the same index (i.e. no inversion or swapping of crystallographic axes relative to the reference UB). Note this algorithm assume the sample is perfectly on the centre of rotation.
The algorithm uses the right-hand coordinate system where X is the beam direction and Z is vertically upward (IPNS convention). The algorithm considers two rotation axes: rotation about the Z-axis, \(\Omega\) ,and rotation of \(\phi\) around the goniometer axis. The angles \(\Omega\) and \(\phi\) for each run are read from the first value of the specified log entry in the run log files. The goniometer axis is defined by the angle from the vertical, \(\chi\), and the angle between the component of the goniometer axis in the scattering plane (XY) from the positive Y-axis, \(d\Omega\), defined when \(\Omega=0\) - for which nominal/best-guess values need to be supplied as arguments.
The test for consistency requires some tolerances to be supplied on \(\chi\) and \(\phi\), if the nominal goniometer axis is not within those tolerances the most likely permutation of the axes is tried (see FindPeaksMD v1) and the consistency is checked again. The algorithm displays a table with the actual \(\chi\) and \(\phi\) and the unit vector of the goniometer axis for each run for which a consistent UB was found
Useage¶
Example:
# WISH single crystal
# demonstration of linkedUBs algorithm on D10 Ruby (cyle 18/1)
from mantid.simpleapi import *
ubList = ['WISH00043350', 'WISH00043351', 'WISH00043352','WISH00043353','WISH00043354']
tab = FindGonioFromUB(UBfiles=",".join(ubList), chi=45, chiTol=5, phiTol=10,
phiHand=-1, dOmega=0, omegaHand=1)
Categories: AlgorithmIndex | Diffraction\Reduction
Source¶
Python: FindGoniometerFromUB.py