Files
sics/userscan.w
cvs 0fac95ea9b - Updated the managers documentation a little
- The  crystal settings calculation in hkl now tried to put omega into
  the limts by calculating a delta omega.
- TRICS data files now include HKL and the UB
- The scan module has been expanded to support user defined scans which
  run a script at any scan point.
- A small fix to the PSD code in SinqHM_srv_filler
2001-07-20 08:05:25 +00:00

52 lines
1.8 KiB
OpenEdge ABL

\subsection{User Scans}
When operating with polarisation equipment a lot of things must be done
at each scan point: count, switch sloppy flippers, drive magnetic
fields, count again etc. In order to do that and other special things user
configurable scans have been introduced. For such scans a configurable
script procedure is called at each scan point with the current
scan point number as an argument. This script then has to perform
the necessary counting operations, store the data collected, print
status information and update the internal scan data structures with
the collected data so that data may be plotted or analyzed in SICS.
In the following section the internal scan object is referenced as xxxscan.
The script can contain the following commands:
\begin{itemize}
\item Normal SICS commands for driving magnets, counting, retrieving
data etc.
\item {\bf xxxscan line bla bla } appends everything after line to
the data file.
\item {\bf xxxscan store 1 2 3 4} stores the numbers after store in the
count data structure of the scan module.
\item clientput allows to write information to the controlling terminal.
\end{itemize}
In order to do all this some configurable scan functions have to be
overloaded. This is implemented in userscan.c. In terms of a public
interface only one function is defined:
@d usinter @{
void ConfigureUserScan(pScanData self);
@}
which simply sets the necessary function pointers in pScanData.
@o userscan.h @{
/*------------------------------------------------------------------------
User configurable scans. At each scan point a scripted procedure is
called.
More info: userscan.tex
copyright: see copyright.h
Mark Koennecke, June 2001
-------------------------------------------------------------------------*/
#ifndef USERSCAN
#define USERSCAN
@<usinter@>
#endif
@}