4.9. - Four-Circle Variables
The four-circle coordinate variables (H, K and L, in particular) are stored in a built-in array named
Q[]
.
The four-circle geometry
calculations either use the motor positions contained in the
A[]
array
to calculate values for the
Q[]
parameters or place motor positions in
A[]
based on the current values in
Q[]
. Each four-circle variable has a descriptive macro definition as an alias,
such as
def OMEGA 'Q[6]'
.
Variable | Alias | Description |
|
||
Q[0] |
H | x component of the scattering vector. |
Q[1] |
K | y component of the scattering vector. |
Q[2] |
L | z component of the scattering vector. |
Q[3] |
LAMBDA | Incident X-ray wavelength λ. |
Q[4] |
ALPHA | Incident angle α. |
Q[5] |
BETA | Exiting angle β. |
Q[6] |
OMEGA | ω = θ - (2θ)/2. |
Q[7] |
AZIMUTH | Azimuthal angle. |
Q[8] |
F_ALPHA | Frozen value of α for alpha-fixed mode. |
Q[9] |
F_BETA | Frozen value of β for beta-fixed mode. |
Q[10] |
F_OMEGA | Frozen value of ω for omega-fixed mode. |
Q[11] |
F_AZIMUTH | Frozen value of ψ for azimuth-fixed mode. |
Q[12] |
F_PHI | Frozen value of φ for phi-fixed mode. |
Q[13] |
F_CHI_Z | Frozen value of χ for zone mode. |
Q[14] |
F_PHI_Z | Frozen value of φ for zone mode. |
The geometry parameters in the table below affect the geometry calculations in various ways. Although the parameters can be changed by assignment, the preferred method is to use the indicated macro for setting the parameters.
Variable | Alias | Related Macro | Description |
|
|||
G[0] |
g_mode | setmode | Specifies the four-circle mode. |
G[1] |
g_sect | setsector | Specifies the sector. |
G[2] |
g_frz | freeze | Nonzero when an angle is frozen. |
G[3] |
g_haz | setaz | H of the azimuthal reference vector. |
G[4] |
g_kaz | setaz | K of the azimuthal reference vector. |
G[5] |
g_laz | setaz | L of the azimuthal reference vector. |
G[6] |
g_zh0 | mz, sz | H of first zone-mode vector. |
G[7] |
g_zk0 | mz, sz | K of first zone-mode vector. |
G[8] |
g_zl0 | mz, sz | L of first zone-mode vector. |
G[9] |
g_zh1 | mz, sz | H of second zone-mode vector. |
G[10] |
g_zk1 | mz, sz | K of second zone-mode vector. |
G[11] |
g_zl1 | mz, sz | L of second zone-mode vector. |
U[0] |
g_aa | setlat | a lattice constant in Angstroms. |
U[1] |
g_bb | setlat | b lattice constant. |
U[2] |
g_cc | setlat | c lattice constant. |
U[3] |
g_al | setlat | α lattice angle. |
U[4] |
g_be | setlat | β lattice angle. |
U[5] |
g_ga | setlat | γ lattice angle. |
U[6] |
g_aa_s | setrlat | a reciprocal lattice constant. |
U[7] |
g_bb_s | setrlat | b reciprocal lattice constant. |
U[8] |
g_cc_s | setrlat | c reciprocal lattice constant. |
U[9] |
g_al_s | setrlat | α reciprocal lattice angle. |
U[10] |
g_be_s | setrlat | β reciprocal lattice angle. |
U[11] |
g_ga_s | setrlat | γ reciprocal lattice angle. |
U[12] |
g_h0 | or0, setor0 | H of primary reflection. |
U[13] |
g_k0 | or0, setor0 | K of primary reflection. |
U[14] |
g_l0 | or0, setor0 | L of primary reflection. |
U[15] |
g_h1 | or1, setor1 | H of secondary reflection. |
U[16] |
g_k1 | or1, setor1 | K of secondary reflection. |
U[17] |
g_l1 | or1, setor1 | L of secondary reflection. |
U[18] |
g_u00 | or0, setor0 | Observed 2θ of primary reflection. |
U[19] |
g_u01 | or0, setor0 | Observed θ of primary reflection. |
U[20] |
g_u02 | or0, setor0 | Observed χ of primary reflection. |
U[21] |
g_u03 | or0, setor0 | Observed φ of primary reflection. |
U[24] |
g_u10 | or1, setor1 | Observed 2θ of secondary reflection. |
U[25] |
g_u11 | or1, setor1 | Observed θ of secondary reflection. |
U[26] |
g_u12 | or1, setor1 | Observed χ of secondary reflection. |
U[27] |
g_u13 | or1, setor1 | Observed φ of secondary reflection. |
The first three parameters select modes and set flags. The next three parameters describe the components of the azimuthal reference vector. The six after that describe the zone-mode vectors.
The next sets of parameters describe the orientation matrix, including the lattice constants of the sample and the parameters of the primary and secondary orientation reflections. Remember that the
calcG
macro, described below, must be called
to make sure the orientation matrix is recalculated after
changing any of these related values above.
The
or0
, setor0
, or1
, setor1
, or_swap
and
setlat
macros do just that.