diff_get_r0, diff_set_r0, ~r1

These functions handle the orienting reflections. A reflection that is used for the orientation consists of hkl values and angles. The angles are read from the current motor positions, if they are not supplied.

 
my $ret = Spectra::diff_set_r0( $h, $k, $l); 
my $ret = Spectra::diff_set_r0( $h, $k, $l, $tt, $om, $ch, $ph); 
my $ret = Spectra::diff_set_r0( $h, $k, $l, $mu, $om, $ch, $ph, $ga, $de); 
my $ret = Spectra::diff_set_r1( $h, $k, $l); 
my $ret = Spectra::diff_set_r1( $h, $k, $l, $tt, $om, $ch, $ph); 
my $ret = Spectra::diff_set_r1( $h, $k, $l, $mu, $om, $ch, $ph, $ga, $de);

This is how a reflection can be read:

my $ret = Spectra::diff_get_r0(); 
my ($h0, $k0, $l0, $tt0, $om0, $chi0, $phi0, $ga0, $de0) = split " ", $ret;