# Special Commands for the Reflectometer (AMOR)

There are some special command initializations for the reflectometer AMOR. These commands are most likely not portable to other instruments because they encompass the special geometry at AMOR and the AMOR development has not fully matured. The following initialization commands are available:

MakeAmor2T name da
  This creates a virtual two theta motor for the reflectometer AMOR. The two parameters are the name of the object in SICS and a Tcl-array with configuration parameters. The needed elements of this array are:
  mom
    The monochromator omega motor.
  som
    The sample omega motor.
  coz
    The height movement of the detector.
  cox
    The movement of the detector along the optical bench.
  stz
    The height movement of the sample connected to the omega circle.
  soz
    The height movement of the sample table.
  d4b
    The motor moving the whole diaphragm 4 up.
  d5b
    The motor moving the whole diaphragm 5 up.
  com
    The omega mevement of the detector.
  An example:

      set a2t(mom) mom
      set a2t(som) som
      set a2t(coz) coz
      set a2t(cox) cox
      set a2t(stz) stz
      set a2t(soz) soz
      set a2t(d4b) d4b
      set a2t(d5b) d5b
      set a2t(com) com
      MakeAmor2T a2t a2t

  creates a virtual AMOR two theta motor with the name a2t.
MakeStoreAmor hm
  Creates an object for writing reflectometer data files. The name of the command is storeamor. The parameter hm denotes the histogram memory object.
MakeAmorStatus name scan hm
  This creates a helper object for the reflectometer status display with name name. This object performs some operations on behalf of the status display for the reflectometer AMOR. The parameter scan denotes the name of the scan object. The parameter hm the name of the histogram memory object.

## AMOR Status Display Commands

MakeAmorStatus creates a SICS command which is used by the AMOR status display for displaying proceesed data, especially in TOF-mode. This module provides the following commands:

amorstatus interest
  This registers this connection for receiving automatic notifications. Automatic notifications send are:
  SCANSTART
    At scan start a message ScanClear is sent followed by the uuencoded new x-axis for the plot.
  SCANPOINT
    At each scan point the arrays of counts in both detector are sent in uuencoded form labelled arrow_spinupup and arrow_spinuplo.
  COUNTSTART
    The start of counting on the histogram memory. Send a message TOFClear and then the uuencoded time binning labelled arrow_time.
  FILELOADED
    activated each time user defined model data is loaded into the SICS server. This data gets send as arrow_name in uuencoded form. Both x- and y-axis are sent in floating point.
  Please note that floating point data is transformed to fixed point by multiplication of 65653 before transfer. The first number in each uuencoded message is an integer describing the length of the data. In case of double data such as fileloaded the y-data follows immediatetly after the x-data. Also the appropriate data is automatically sent after the interest command.
amorstatus collapse
  sums all counts in all detectors in time and sends the data back as an uuencoded image. The first two numbers in the message define the dimensions of the data.
amorstatus sample name x1 x2 y1 y2
  Sums the detector counts on an area defined by the rectangle x1, x2, y1, y2. The length of this is the time binning. The data is sent back in uuencoded form labelled arrow_name.
amorstatus clear
  Clears all user loaded data.
amorstatus load filename scale
  loads user defined data for distribution to the status display clients. The y data is scaled according to the scale factor provided.
amorstatus projectytof
  Returns a UUencoded 2D array of y against TOF.