spec

Software for Diffraction

4.11. - Four-Circle Macros



The macros below are used in setting the parameters and selecting modes.
 Name   Arguments   Description 

 setmode   1 optional   Choose geometry mode. 
 setsector   1 optional   Choose sector. 
 setlat   6 optional   Set lattice parameters. 
 setaz   3 optional   Set azimuthal reference vector. 
 setmono   2 optional   Set beam-line monochromator parameters. 
 or0   3 optional   Set primary orientation reflection. 
 or1   3 optional   Set secondary orientation reflection. 
 setor0   none   Alternative to set primary orientation reflection. 
 setor1   none   Alternative to set secondary orientation reflection. 
 or_swap   none   Swap values for primary and secondary vectors. 
 freeze   none   Turn on freeze mode. 
 unfreeze   none   Turn freeze mode off. 
 cz   6   Calculate zone. 
 sz   6   Set zone parameters. 
 mz   6   Move to zone. 
 cuts   2/6 optional   Show or set cut points. 

Most of the macros with optional arguments will prompt for the required values if invoked without arguments. Using any of these macros to change a parameter will produce a comment on the printer and in the data file.

The or0 macro is a typical example of these macros.
1.FOURC> prdef or0
def or0 '{ local _1 _2 _3 if ($# == 3) { _1 = $1; _2 = $2; _3 = $3 } else if ($# == 0) { print "\nEnter primary-reflection HKL coordinates:" _1 = getval(" H", g_h0) _2 = getval(" K", g_k0) _3 = getval(" L", g_l0) } else { print "Usage: or0 or or0 H K L" exit } waitmove; get_angles gpset _1 g_h0 # gpset documents the change gpset _2 g_k0 gpset _3 g_l0 gpset A[mA[0]] g_u00 gpset A[mA[1]] g_u01 gpset A[mA[2]] g_u02 if (_numgeo > 3) { gpset A[mA[3]] g_u03 } if (_numgeo > 4) { gpset A[mA[4]] g_u04 } if (_numgeo > 5) { gpset A[mA[5]] g_u05 } if (_numgeo > 6) { gpset A[mA[6]] g_u06 } gpset LAMBDA g_lambda0 calcG }' 2.FOURC>