## SICS Variables

In SICS most parameters necessary for instrument control are kept with the SICS object implementing the functionality. However, there are some odd bits of information which need to be known, mostly additional information about and from the user, which should go into data files. Such information is kept in SICS variables, created with the command VarMake detailed below.

Another usage for variables is to control composite movements of instrument components. For instance for changing the wavelength it is necessary to drive at least two motors, Theta and TwoTheta. Such behaviour is implemented with some SICS special variables. Their creation is described below.

Variables are also used in order to control the SINQ automatic file name creation scheme for data files. At SINQ, data files are put into a special directory. The actual name consists of a prefix, a sequential number, the last two digits of the year and an ending. All these components are controlled by variables.

The exact syntax for creating variables looks like this:

- VarMake name type access creates a simple variable name. The variable type can be Text, Int or Float. The access parameter defines who may may change the variable. Possible values are: Internal, Manager, User and Spy.
- MakeWaveLength nam mono creates a wavelength variable nam. The monochromator mono is used for adjustment.
- MakeEnergy nam mono creates a energy variable nam. The monochromator mono is used for adjustment.
- MakeO2T nam OM 2TM creates an omega 2Theta dummy variable with name nam for omega 2Theta scans. OM defines an omega motor, 2TM a two theta motor.
- MakeDataNumber SicsDataNumber filename This command makes a variable SicsDataNumber available which holds the current sequential data file number. filename is the complete path to the file were this data number is stored. This file should never, ever be edited without good reason, i.e. resetting the sequential number to 0 at the beginning of a year.

There are quite a few SICS variables which have special usages and should be present. Some of them may need to be set by the user, all of them should be inspectable by the user. Many of these variables are used when writing NeXus data files. These special variables are:

sample
  The sample name. To be set by the user.
title.
  The experiment title.
User
  The name of the user to be specified in a data file.
Instrument.
  The name of the instrument.
SicsDataPath
  The full path name of the instruments data directory. Should have a / at the end.
SicsDataPrefix
  The prefix to use for data file names.
SicsDataPostFix
  The ending to use for the data file name. Including the '.'.
Adress
  The users adress.
phone
  The users phone number.
email
  The users e-mail adress.
fax
  The users fax number.

Some of the variables stated above should never be changed by a user. This can be achieved by the variable lock command described in the user documentation.