- Fixed SICS up to run with up to three TRICS detectors.

- added 150 detectors the default for FOCUS middle bank.
- added documentation for el734_test
This commit is contained in:
cvs
2001-02-09 16:04:46 +00:00
parent 96e2fc44c0
commit 5be8359212
24 changed files with 1842 additions and 224 deletions

View File

@@ -53,7 +53,7 @@ This information is kept in a bank data structure:
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap1}
$\langle$SBank {\footnotesize 2a}$\rangle\equiv$
$\langle$SBank {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -90,7 +90,7 @@ the lower edges of all time bins.
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap2}
$\langle$SType {\footnotesize 2b}$\rangle\equiv$
$\langle$SType {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -105,6 +105,9 @@ $\langle$SType {\footnotesize 2b}$\rangle\equiv$
\mbox{}\verb@ int iRank;@\\
\mbox{}\verb@ int iPacket;@\\
\mbox{}\verb@ int iBanks;@\\
\mbox{}\verb@ int xSize, ySize;@\\
\mbox{}\verb@ int xOff, xFac;@\\
\mbox{}\verb@ int yOff, yFac;@\\
\mbox{}\verb@ SBank pBank[MAXBANK];@\\
\mbox{}\verb@ } SINQHM;@\\
\mbox{}\verb@@$\diamond$
@@ -112,7 +115,7 @@ $\langle$SType {\footnotesize 2b}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 2bc.
\item Macro defined by scraps ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -122,7 +125,9 @@ computer, the second the port number at which the master server is
listening. iClientPort defines a port for data communication. If no such
port is open, this value will be 0. iStatus is a status flag. iBanks is the
number of detector banks defined. pSBank is an array of bank data structures
describing the detector banks. In order to
describing the detector banks.
xOff, xFac and yOff and yFac are the offset and factor values needed for
the PSD calculation for TRICS and AMOR. In order to
maintain this data structure two functions are defined:
\section{Byte swapping}
@@ -132,7 +137,7 @@ types for your compiler and computer.
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap3}
$\langle$SType {\footnotesize 2c}$\rangle\equiv$
$\langle$SType {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -144,14 +149,14 @@ $\langle$SType {\footnotesize 2c}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 2bc.
\item Macro defined by scraps ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
\end{flushleft}
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap4}
$\langle$Protos {\footnotesize 3a}$\rangle\equiv$
$\langle$Protos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -159,12 +164,14 @@ $\langle$Protos {\footnotesize 3a}$\rangle\equiv$
\mbox{}\verb@ pSINQHM CopySINQHM(pSINQHM self);@\\
\mbox{}\verb@ void DeleteSINQHM(pSINQHM self); @\\
\mbox{}\verb@ void SINQHMSetPar(pSINQHM self, int iRank, int iLength, int iBinWidth);@\\
\mbox{}\verb@ void SINQHMSetPSD(pSINQHM self, int xSize, int xOff, int xFac,@\\
\mbox{}\verb@ int ySize, int yOff, int yFac);@\\
\mbox{}\verb@@$\diamond$
\end{list}
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 3abc, 6a.
\item Macro defined by scraps ?, ?, ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -175,6 +182,8 @@ mentioned above for the description of the data structure. DeleteSINQHM
frees all memory associated with a SINQHM structure given by self. The
pointer to self is invalid ever afterwards.
CopySINQHM creates a copy of the SINQHM structure passed in with self.
SINQHMSetPar sets time of flight parameters.
SINQHMSetPSD defines PSD parameters for TRICS/AMOR type detectors.
\section{SINQHM error handling}
If not denoted otherwise all public SINQHM functions return an integer 1 on
@@ -184,7 +193,7 @@ call to:
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap5}
$\langle$Protos {\footnotesize 3b}$\rangle\equiv$
$\langle$Protos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -194,7 +203,7 @@ $\langle$Protos {\footnotesize 3b}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 3abc, 6a.
\item Macro defined by scraps ?, ?, ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -210,12 +219,17 @@ needed:
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap6}
$\langle$Protos {\footnotesize 3c}$\rangle\equiv$
$\langle$Protos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
\mbox{}\verb@ int SINQHMConfigure(pSINQHM self, int iMode, int iRank, int iLength, @\\
\mbox{}\verb@ int iBinWidth, int iLowBin, int iCompress);@\\
\mbox{}\verb@ int SINQHMConfigurePSD(pSINQHM self, int iMode,@\\
\mbox{}\verb@ int xSize, int xOff, int xFac,@\\
\mbox{}\verb@ int ySize, int yOff, int yFac,@\\
\mbox{}\verb@ int iBinWidth, @\\
\mbox{}\verb@ float *iEdges, int iEdgeLength);@\\
\mbox{}\verb@@\\
\mbox{}\verb@ int SINQHMDeconfigure(pSINQHM self, int iHarsh);@\\
\mbox{}\verb@ int SINQHMGetStatus(pSINQHM self,int *iMode, int *iDaq,@\\
@@ -229,14 +243,14 @@ $\langle$Protos {\footnotesize 3c}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 3abc, 6a.
\item Macro defined by scraps ?, ?, ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
\end{flushleft}
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap7}
$\langle$IProtos {\footnotesize 4}$\rangle\equiv$
$\langle$IProtos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -245,7 +259,7 @@ $\langle$IProtos {\footnotesize 4}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 4, 6b.
\item Macro defined by scraps ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -262,6 +276,20 @@ may choose to strat at a different memory location. iCompress is for
compression. All data will be right shifted by iCompress bits before
storage. To my knowledge this feature is currently not implemented.
SINQHMConfigurePSD configures a TRICS/AMOR type detector. The parameters are:
\begin{description}
\item[self] The histogram memory data structure.
\item[iMode] The actual histogram mode with all submask bits.
\item[xSize] The x size of the detector.
\item[xOff] The offset in x for the detector position decoding.
\item[xFac] The factor used in decoding the x detector position.
\item[ySize] The y size of the detector.
\item[yOff] The offset in y for the detector position decoding.
\item[yFac] The factor used in decoding the y detector position.
\item[iBinWidth] The binwidth of the histograms.
\item[iEdges] An array holding the time binning edges.
\item[iEdgeLength] The length of iEdges.
\end{description}
SINQHMDeconfigure deconfigures the histogram memory. This is necessary prior
to reconfiguration. The only parameter iHarsh defines how brutal the master
@@ -294,7 +322,7 @@ Thus the following functions are required:
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap8}
$\langle$TOFProto {\footnotesize 5a}$\rangle\equiv$
$\langle$TOFProto {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -311,7 +339,7 @@ $\langle$TOFProto {\footnotesize 5a}$\rangle\equiv$
\end{flushleft}
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap9}
$\langle$TOFintern {\footnotesize 5b}$\rangle\equiv$
$\langle$TOFintern {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -332,6 +360,7 @@ is the array of time binnings. iEdgeLength is the length of the edges array.
SINQHMTimeBin actually sends the new time binning to the histogram memory.
SINQHMTimeBin is a static internal function.
\section{Data aquisition functions}
@@ -348,7 +377,7 @@ cleared by default.
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap10}
$\langle$Protos {\footnotesize 6a}$\rangle\equiv$
$\langle$Protos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -371,7 +400,7 @@ $\langle$Protos {\footnotesize 6a}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 3abc, 6a.
\item Macro defined by scraps ?, ?, ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -410,7 +439,7 @@ to any serious data aquisition.
\section{Further internal routines}
\begin{flushleft} \small
\begin{minipage}{\linewidth} \label{scrap11}
$\langle$IProtos {\footnotesize 6b}$\rangle\equiv$
$\langle$IProtos {\footnotesize ?}$\rangle\equiv$
\vspace{-1ex}
\begin{list}{}{} \item
\mbox{}\verb@@\\
@@ -423,7 +452,7 @@ $\langle$IProtos {\footnotesize 6b}$\rangle\equiv$
\vspace{-1ex}
\footnotesize\addtolength{\baselineskip}{-1ex}
\begin{list}{}{\setlength{\itemsep}{-\parsep}\setlength{\itemindent}{-\leftmargin}}
\item Macro defined by scraps 4, 6b.
\item Macro defined by scraps ?, ?.
\item Macro referenced in scrap ?.
\end{list}
\end{minipage}\\[4ex]
@@ -494,8 +523,8 @@ $\langle$ErrCode {\footnotesize ?}$\rangle\equiv$
\mbox{}\verb@@$\langle$ErrCode {\footnotesize ?}$\rangle$\verb@@\\
\mbox{}\verb@@\\
\mbox{}\verb@/*------------------------------ Prototypes ------------------------------*/@\\
\mbox{}\verb@@$\langle$Protos {\footnotesize 3a, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$TOFProto {\footnotesize 5a}$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$Protos {\footnotesize ?, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$TOFProto {\footnotesize ?}$\rangle$\verb@@\\
\mbox{}\verb@#endif@\\
\mbox{}\verb@@$\diamond$
\end{list}
@@ -517,10 +546,10 @@ $\langle$ErrCode {\footnotesize ?}$\rangle\equiv$
\mbox{}\verb@#ifndef SINQHMINTERNAL@\\
\mbox{}\verb@#define SINQHMINTERNAL@\\
\mbox{}\verb@#define MAXBANK 1@\\
\mbox{}\verb@@$\langle$SBank {\footnotesize 2a}$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$SType {\footnotesize 2b, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$IProtos {\footnotesize 4, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$TOFintern {\footnotesize 5b}$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$SBank {\footnotesize ?}$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$SType {\footnotesize ?, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$IProtos {\footnotesize ?, \ldots\ }$\rangle$\verb@@\\
\mbox{}\verb@@$\langle$TOFintern {\footnotesize ?}$\rangle$\verb@@\\
\mbox{}\verb@#endif@\\
\mbox{}\verb@@\\
\mbox{}\verb@@$\diamond$