- 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:
@@ -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$
|
||||
|
||||
Reference in New Issue
Block a user