4.12. - Zone Macros
Zone mode is controlled with
the
cz (calculate zone),
sz (set zone)
and
mz (move zone) macros.
Given two Bragg reflections,
cz will calculate and display the values of
and necessary to put both of these reflections in the
scattering plane.
To find the angles needed to put
(0,0,2) and (0,2,2) in the scattering plane, type
1.FOURC> cz 0 0 2 0 2 2 Chi = 45 Phi = 90
2.FOURC>
Once appropriate values of and have been calculated, the
scattering plane can be set using the
pl (plane) macro, which moves the 2 and motors together,
1.FOURC> pl 45 90
2.FOURC> Alternatively, you can use the
mz macro, which calculates the necessary and , moves there, sets
zone mode, if not already in it,
and saves the values of the zone vectors in the
G[] geometry parameter array.
1.FOURC> mz 0 0 2 0 2 2
2.FOURC> p A[chi], A[phi] 45 90
3.FOURC>
The
sz macro calculates and displays the and values, sets
zone mode, if not already in it,
saves the values of the zone vectors, sets the frozen values of
zone -mode and , but does not move the diffractometer.
The
cz,
sz
and
mz
macros make use of the
Z[]
array variables to pass the zone vectors to the geometry code.
1.FOURC> prdef cz def cz '
if ($# != 6) {
print "Usage: cz h0 k0 l0 h1 k1 l1"
exit
}
Z[0]=$1; Z[1]=$2; Z[2]=$3; Z[3]=$4; Z[4]=$5; Z[5]=$6
calcZ
printf("Chi = %g Phi = %g\n", A[chi], A[phi])
waitmove; get_angles; calcHKL
'
2.FOURC>
|