This class provides the transformation from the setting angles of a six circle diffractometer into reciprocal space. There for we use mainly four frames in reciprocal Space: -frame, -frame, -frame and -frame.
We define the lab frame like in the paper about the four circle diffraction setup (Busing1967), i.e. the -axis up, the -axis along the X-ray beam and the -axis forms a right handed orthonganl system with the others. The figure shows the setup with all six angles and a diffrent lab frame from the paper Lohmeier1993 (, , ).
The rotation by along the -axis leads to followed by the angles familiar from the four circle setup, i.e. rotation by along the -axis leads to (-frame, ), rotation by along the -axis leads to , and rotation by along the -axis leads to (-frame, ) The detector rotations start in with rotation by along the -axis into , and rotation by along the -axis into . Note that in the origanal paper is called . After this introduction we will drop most times the indices at the axes and refer to the four circle lab frame.
Angle | Axis4 | Axis6 | New Frame |
---|---|---|---|
() | |||
() | |||
Rotation of a vector along the -axis by the angle is discribed by the rotaion matrix
The back transformation is the transposed or , the back rotation. If the coordinate system is rotated by the angle , is the transformation. For completness the other two rotation matrices along the principle axes.
The initial and final (scattered) wavevectors are , and have the same length (elastic scattering). For all setting angels set to 0, and lay along the -axis.
To get , i.e. in , we have to apply the rotation matrix along by the angle and the rotation matrix along by the angle , because for all angles. To get we have to considered that for all angles, becuase the measured scattered X-rays hit directly the detector. In a similar sence we need rotations by along and by along .
Now we get in .
If we take the rotations by and into account we come to .
The last step is transforming from to and applying the inverse orientation matrix from e.g. Spec SIXC to get the -values.
Diffractometer class
This class provides various functions to perform calculations to and from the sample and instrument frames
used lab frame: Z up, Y along X-ray beam, X = Y x Z; sample rotations: mu : along +Z -> S’ (mu-frame), theta : along +X’ -> S’’ (theta-frame), chi : along +Y’’ -> S’‘’ (chi-frame), phi : along +X’‘’ -> S’‘’’ (phi-frame); detector rotations: mu : along +Z -> S’ (mu-frame), delta : along +X’ -> S* (delta-frame), gamma : along +Z* -> S** (gamma-frame)
Calculate (Qx, Qy, Qz) set in cartesian reciprocal space from (Qx, Qy, Qz) set in theta-frame
still under construction
Calc HKL values from (Qx, Qy, Qz) set in theta-frame with UB-matrix
QHKL = UB^-1 sixcToFourc^T QPhi
Calculate (Qx, Qy, Qz) set in phi-frame from (Qx, Qy, Qz) set in theta-frame
QPhi = rotZ(-phi) rotY(-chi) QTheta
Return transformed coordinates
Sets angles for calculation. Angles are expected in spec ‘sixc’ order: Delta Theta Chi Phi Mu Gamma
Set the angles for calculation
Set the energy (in eV) for calculations
Set the wavelength (in Angstroms) for calculations
Sets the UB matrix