\subsection{Amor Scan} This is a special adaption of the general scan routines for the reflectometer AMOR at SINQ. It works by replacing the configurable routines in the general scan command with special ones, suited to the reflectometers purpose. There are several adaptions to the standard scan command: \begin{itemize} \item Data is written to NeXus files instead of ASCII files. \item There are two counters to keep track of. \item Furthermore stubs are provided for dealing with spin flippers. \end{itemize} In order to keep track of counters and monitors the following convention has been devised: \begin{itemize} \item GetCounts gets the main detector. \item GetMonitor 0 the second detector \item GetMonitor 1 the first detector other spin \item GetMonitor 2 the second detector other spin \item GetMonitor 3 the first monitor \item GetMonitor 4 the second monitor \end{itemize} Thus the monitor channels are used to keep the additional counter information. This module provides only one external function: \begin{flushleft} \small \begin{minipage}{\linewidth} \label{scrap1} $\langle$amorscan {\footnotesize ?}$\rangle\equiv$ \vspace{-1ex} \begin{list}{}{} \item \mbox{}\verb@@\\ \mbox{}\verb@ int ConfigureAmor(pScanData pScan);@\\ \mbox{}\verb@@$\diamond$ \end{list} \vspace{-1ex} \footnotesize\addtolength{\baselineskip}{-1ex} \begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}} \item Macro referenced in scrap ?. \end{list} \end{minipage}\\[4ex] \end{flushleft} which configures the variable fields and function pointers in pScan to functions defined in this module. These then do the right thing. This module is also an example of how the scan command can be configured to do tricks based on the syntax and hooks defined in scan.*. \begin{flushleft} \small \begin{minipage}{\linewidth} \label{scrap2} \verb@"amorscan.h"@ {\footnotesize ? }$\equiv$ \vspace{-1ex} \begin{list}{}{} \item \mbox{}\verb@@\\ \mbox{}\verb@/*-----------------------------------------------------------------------@\\ \mbox{}\verb@ A M O R S C A N@\\ \mbox{}\verb@ Adaption of the scan command to do things specific to the@\\ \mbox{}\verb@ reflectometer AMOR at SINQ.@\\ \mbox{}\verb@@\\ \mbox{}\verb@ Mark Koennecke, September 1999@\\ \mbox{}\verb@-----------------------------------------------------------------------*/@\\ \mbox{}\verb@#ifndef AMORSCAN@\\ \mbox{}\verb@#define AMORSCAN@\\ \mbox{}\verb@@$\langle$amorscan {\footnotesize ?}$\rangle$\verb@@\\ \mbox{}\verb@#endif@\\ \mbox{}\verb@@\\ \mbox{}\verb@@$\diamond$ \end{list} \vspace{-2ex} \end{minipage}\\[4ex] \end{flushleft}