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 lambda. |
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[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. |
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. |
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.
|