# Reflection List Processor

This module performs four circle diffractometer measurements with a single counter . In a first view this module takes a list of reflections as input, drive to each reflection in the list and performs a scan for each reflection. Some more feautures are supported:

- Two different input file formats are supported: the simplest contains a three values for H,K,L per line. Some users prefer to perform the angle calculations themselves; for such cases the input list can contain four values: two theta, omega, chi and phi per line.
- This module supports phi scans: the reflection list must then contain H,K,L and phi per line.
- Both measurements in normal bisecting mode and normal beam mode are supported.
- Optionally weak reflections can be remeasured with the preset multiplied by 5.
- Optionally scans are performed in fastscan mode: Between steps, the motor and the counter are started at the same time. The step is finished when both operations terminate.
- The module maintains a table of two theta ranges and scan step widths and scan variables. This allows to perform scans with varying step widths with two theta and to switch between omega and omega - two theta scan mode.

Three files will be written starting from a root such as tricsyearnnumber. For instance trics1998n000560 means file number 560 in 1998. The file ending in .log will contain the console log. This is extremely verbose. Another file ending with .col will contain the reflection, diffractometer settings and the measured profile. The third file, ending with .rfl will contain for each refelction, the HKL, the diffractometer settings and the intensity and sigma intensity as calculated by the SICS internal integration routine. A Grant Gabe integration (see J.Appl. Cryst (1978), 11, 114-120) is performed.

For the purpose of the command description it is assumed, that this facility is accessible as object dataset within SICS. Interaction with this object happens through the following commands:

dataset open
  Creates a new set of files and writes some header info.
dataset measure filename iSkip
  Starts a measurement. Reads reflections from the file filename. iSkip is an optional parameter which allows to skip iSkip lines in the file. This is for recovery in cases of accidental or purposeful interruption of the measurement.
dataset genlist filename iSkip
  Mesures reflection from filename. The file is expected to have been created by hklgen and to include all the angle settings. The optional parameter iSkip determines the number of lines to skip in the file. This feature allows to continue measurement on not fully processed files.
dataset reopen filename
dataset reopen 001/trics2005n000051
  Reopens an already existing file set for appending. Only the file root without directory info or endings needs to be given.
dataset close
  Closes the current data file set.
dataset file
  Prints the current data file name.
dataset list
  prints the current parameters.
dataset calc file
  Tries to calculate all the reflections listen in file and prints an estimate how many reflections are within limits. As file format only a H,K,L type file is supported.

Then there are a few parameter commands. They follow the general scheme:

dataset parameter
  Prints the current value of the parameter
dataset parameter value
  Sets the parameter to the new value.

This object knows about the following parameters:

countmode
  The counting mode to use. Possible values are timer or monitor.
preset
  The preset to use for counting
np
  number of points to collect for each profile.
step
  The step width in omega to use for scanning.
compact
  Determines if the scan data output to the SICS is in normal (compact = 0) or condensed (compact = 1) form. The default is 1.
weak
  0 or 1: switches on special processing of weak reflections.
weakthreshold
  The threshold used to decide what constitues a weak reflection. The test is: max count in scan - 2* min count in scan.
fastscan
  0 or 1: switches fastscan mode.
psimode
  0 or 1: switches psi scanning mode. Please note that suitable HKL input files for this mode must contain four numbers: H, K, L and psi.
psd
  0 or 1: switches on PSD mode for measuring with the area detector. Currently this is mapped to doing a tricsscan with the scan parameters as evaluted from the two theta range table. The psi, compact and weak flags are ignored in PSD mode. Only a log file is openend, the rest of the file management is done by tricsscan.

Then there are command which allow to configure the table of two theta ranges and scan parameters. All table related commands start with: dataset table. The following commands are supported:

dataset table list
  prints the content of the table.
dataset table add end scanvar step np
  configures a two theta range. The end parameter describes the end of the two theta range to which these parameters can be applied. Scanmode can either be om for omega scans or o2t for omega 2 theta scans. step is the step width to use. np is the number of points in the scan.
dataset table del num
  deletes the entry num from the table. Counting starts with 0!
dataset table clear
  clears the whole table.

When there is no two theta range configured for a given two theta value, the omega scan mode applies with the step width given as a parameter to dataset.

dataset supports two geometries: the first is the usual bisecting geometry. The second is the normal beam geometry where the detector is moved out of plane. This is accounted for by two switches:

dataset bi
  switches into bissecting mode. This is the default.
dataset nb
  switches into normal beam mode.

This object supports some file management functionality. It caters for the problem that experiments may need to be continued. Thus reopening files and continuation of reflection processing at a point way down the reflection file is supported. Consequently the start of a new experiment requires the following steps:

- Create a new set of files with dataset start.
- Configure the scans with the parameter commands.
- Start processing a reflection file with either the dataset genlist or dataset measure commands.

If you need to continue reflection file processing after an abort or after solving a problem the following steps are required:

- Determine the file number you were working at and the line number in the reflection file where you wish to continue processing.
- Set the file root with the dataset reopen command.
- Configure the scan parameters again.
- Restart the measurement with either dataset genlist or dataset measure but specify the iSkip parameter according to the position in the reflection file where processing should continue.