\hypertarget{QLMC_8h}{
\section{QLMC.h File Reference}
\label{QLMC_8h}\index{QLMC.h@{QLMC.h}}
}
Public definitions for the LMC data access routines. 

{\tt \#include \char`\"{}LMC/LMC\_\-pubdefs.h\char`\"{}}\par
{\tt \#include \char`\"{}LSF/LSF.h\char`\"{}}\par


Include dependency graph for QLMC.h:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=132pt]{QLMC_8h__incl}
\end{center}
\end{figure}


This graph shows which files directly or indirectly include this file:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=111pt]{QLMC_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{struct__QLMC__timestamp}{\_\-QLMC\_\-timestamp}
\begin{CompactList}\small\item\em Sample timestamp. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__calCount}{\_\-QLMC\_\-cal\-Count}
\begin{CompactList}\small\item\em Calorimeter counter data item. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__tkrCount}{\_\-QLMC\_\-tkr\-Count}
\begin{CompactList}\small\item\em Tracker counter data item. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__acdCount}{\_\-QLMC\_\-acd\-Count}
\begin{CompactList}\small\item\em ACD counter data item. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__deadCount}{\_\-QLMC\_\-dead\-Count}
\begin{CompactList}\small\item\em Deadtime counter data item. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__calRecord}{\_\-QLMC\_\-cal\-Record}
\begin{CompactList}\small\item\em Calorimeter counter record. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__tkrRecord}{\_\-QLMC\_\-tkr\-Record}
\begin{CompactList}\small\item\em Tracker counter record. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__acdRecord}{\_\-QLMC\_\-acd\-Record}
\begin{CompactList}\small\item\em ACD counter record. \item\end{CompactList}\item 
struct \hyperlink{struct__QLMC__deadRecord}{\_\-QLMC\_\-dead\-Record}
\begin{CompactList}\small\item\em Deadtime counter record. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
\hypertarget{QLMC_8h_a0}{
typedef \hyperlink{struct__QLMC__timestamp}{\_\-QLMC\_\-timestamp} \hyperlink{QLMC_8h_a0}{QLMC\_\-timestamp}}
\label{QLMC_8h_a0}

\begin{CompactList}\small\item\em Sample timestamp. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a1}{
typedef \hyperlink{struct__QLMC__calCount}{\_\-QLMC\_\-cal\-Count} \hyperlink{QLMC_8h_a1}{QLMC\_\-cal\-Count}}
\label{QLMC_8h_a1}

\begin{CompactList}\small\item\em Calorimeter counter data item. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a2}{
typedef \hyperlink{struct__QLMC__tkrCount}{\_\-QLMC\_\-tkr\-Count} \hyperlink{QLMC_8h_a2}{QLMC\_\-tkr\-Count}}
\label{QLMC_8h_a2}

\begin{CompactList}\small\item\em Tracker counter data item. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a3}{
typedef \hyperlink{struct__QLMC__acdCount}{\_\-QLMC\_\-acd\-Count} \hyperlink{QLMC_8h_a3}{QLMC\_\-acd\-Count}}
\label{QLMC_8h_a3}

\begin{CompactList}\small\item\em ACD counter data item. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a4}{
typedef \hyperlink{struct__QLMC__deadCount}{\_\-QLMC\_\-dead\-Count} \hyperlink{QLMC_8h_a4}{QLMC\_\-dead\-Count}}
\label{QLMC_8h_a4}

\begin{CompactList}\small\item\em Deadtime counter data item. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a5}{
typedef \hyperlink{struct__QLMC__calRecord}{\_\-QLMC\_\-cal\-Record} \hyperlink{QLMC_8h_a5}{QLMC\_\-cal\-Record}}
\label{QLMC_8h_a5}

\begin{CompactList}\small\item\em Calorimeter counter record. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a6}{
typedef \hyperlink{struct__QLMC__tkrRecord}{\_\-QLMC\_\-tkr\-Record} \hyperlink{QLMC_8h_a6}{QLMC\_\-tkr\-Record}}
\label{QLMC_8h_a6}

\begin{CompactList}\small\item\em Tracker counter record. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a7}{
typedef \hyperlink{struct__QLMC__acdRecord}{\_\-QLMC\_\-acd\-Record} \hyperlink{QLMC_8h_a7}{QLMC\_\-acd\-Record}}
\label{QLMC_8h_a7}

\begin{CompactList}\small\item\em ACD counter record. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a8}{
typedef \hyperlink{struct__QLMC__deadRecord}{\_\-QLMC\_\-dead\-Record} \hyperlink{QLMC_8h_a8}{QLMC\_\-dead\-Record}}
\label{QLMC_8h_a8}

\begin{CompactList}\small\item\em Deadtime counter record. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a9}{
typedef void \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} (\hyperlink{struct__QLMC__calRecord}{QLMC\_\-cal\-Record} $\ast$recd, int n\-Cntr, void $\ast$parm)}
\label{QLMC_8h_a9}

\begin{CompactList}\small\item\em Callback routine to process calorimeter data records. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a10}{
typedef void \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} (\hyperlink{struct__QLMC__tkrRecord}{QLMC\_\-tkr\-Record} $\ast$recd, int n\-Cntr, void $\ast$parm)}
\label{QLMC_8h_a10}

\begin{CompactList}\small\item\em Callback routine to process tracker data records. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a11}{
typedef void \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} (\hyperlink{struct__QLMC__acdRecord}{QLMC\_\-acd\-Record} $\ast$recd, int n\-Cntr, void $\ast$parm)}
\label{QLMC_8h_a11}

\begin{CompactList}\small\item\em Callback routine to process ACD data records. \item\end{CompactList}\item 
\hypertarget{QLMC_8h_a12}{
typedef void \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} (\hyperlink{struct__QLMC__deadRecord}{QLMC\_\-dead\-Record} $\ast$recd, int n\-Cntr, void $\ast$parm)}
\label{QLMC_8h_a12}

\begin{CompactList}\small\item\em Callback routine to process deadtime data records. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void \hyperlink{QLMC_8h_a13}{QLMC\_\-proc\-Dgm} (const LSF\_\-datagram $\ast$dgm, void $\ast$parm, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} cal\-Rtn, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} tkr\-Rtn, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} acd\-Rtn, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} dead\-Rtn)
\begin{CompactList}\small\item\em Process a datagram. \item\end{CompactList}\item 
unsigned \hyperlink{QLMC_8h_a14}{QLMC\_\-read\-Diag} (char $\ast$f\-Name, void $\ast$parm, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} cal\-Rtn, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} tkr\-Rtn, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} acd\-Rtn, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} dead\-Rtn)
\begin{CompactList}\small\item\em Read the contents of an LMC packet file. \item\end{CompactList}\item 
unsigned \hyperlink{QLMC_8h_a15}{QLMC\_\-read\-Sci} (char $\ast$f\-Name, void $\ast$parm, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} cal\-Rtn, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} tkr\-Rtn, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} acd\-Rtn, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} dead\-Rtn)
\begin{CompactList}\small\item\em Read the contents of an LMC datagram file. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Public definitions for the LMC data access routines. 

\begin{Desc}
\item[Author:]Owen H Saxton\end{Desc}
\begin{Desc}
\item[Id]\hyperlink{QLMC_8h}{QLMC.h},v 1.4 2008/03/11 21:20:04 saxton Exp \end{Desc}


\subsection{Function Documentation}
\hypertarget{QLMC_8h_a13}{
\index{QLMC.h@{QLMC.h}!QLMC_procDgm@{QLMC\_\-procDgm}}
\index{QLMC_procDgm@{QLMC\_\-procDgm}!QLMC.h@{QLMC.h}}
\subsubsection[QLMC\_\-procDgm]{\setlength{\rightskip}{0pt plus 5cm}void QLMC\_\-proc\-Dgm (const LSF\_\-datagram $\ast$ {\em dgm}, void $\ast$ {\em parm}, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} {\em cal\-Rtn}, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} {\em tkr\-Rtn}, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} {\em acd\-Rtn}, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} {\em dead\-Rtn})}}
\label{QLMC_8h_a13}


Process a datagram. 

This routine processes a complete datagram of LMC data, and calls a user-supplied routine for each type of data record present.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em dgm}]The datagram to be processed.\item[{\em parm}]User parameter to pass to the processing routine.\item[{\em cal\-Rtn}]Routine to call for each LMC calorimeter data record in the datagram. Can be NULL.\item[{\em tkr\-Rtn}]Routine to call for each LMC tracker data record in the datagram. Can be NULL.\item[{\em acd\-Rtn}]Routine to call for each LMC ACD data record in the datagram. Can be NULL.\item[{\em dead\-Rtn}]Routine to call for each LMC deadtime data record in the datagram. Can be NULL.\end{description}
\end{Desc}
\hypertarget{QLMC_8h_a14}{
\index{QLMC.h@{QLMC.h}!QLMC_readDiag@{QLMC\_\-readDiag}}
\index{QLMC_readDiag@{QLMC\_\-readDiag}!QLMC.h@{QLMC.h}}
\subsubsection[QLMC\_\-readDiag]{\setlength{\rightskip}{0pt plus 5cm}unsigned QLMC\_\-read\-Diag (char $\ast$ {\em f\-Name}, void $\ast$ {\em parm}, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} {\em cal\-Rtn}, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} {\em tkr\-Rtn}, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} {\em acd\-Rtn}, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} {\em dead\-Rtn})}}
\label{QLMC_8h_a14}


Read the contents of an LMC packet file. 

This routine reads a file of LMC diagnostic data returned from the LAT and calls a user-supplied processing routine for each type of data record found.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em f\-Name}]The name of the file to be processed\item[{\em parm}]User parameter to pass to the processing routine.\item[{\em cal\-Rtn}]Routine to call for each LMC calorimeter data record in the file. Can be NULL.\item[{\em tkr\-Rtn}]Routine to call for each LMC tracker data record in the file. Can be NULL.\item[{\em acd\-Rtn}]Routine to call for each LMC ACD data record in the file. Can be NULL.\item[{\em dead\-Rtn}]Routine to call for each LMC deadtime data record in the file. Can be NULL.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em QLMC\_\-SUCCESS}]Success\end{description}
\end{Desc}
\hypertarget{QLMC_8h_a15}{
\index{QLMC.h@{QLMC.h}!QLMC_readSci@{QLMC\_\-readSci}}
\index{QLMC_readSci@{QLMC\_\-readSci}!QLMC.h@{QLMC.h}}
\subsubsection[QLMC\_\-readSci]{\setlength{\rightskip}{0pt plus 5cm}unsigned QLMC\_\-read\-Sci (char $\ast$ {\em f\-Name}, void $\ast$ {\em parm}, \hyperlink{QLMC_8h_a9}{QLMC\_\-cal\-CB} {\em cal\-Rtn}, \hyperlink{QLMC_8h_a10}{QLMC\_\-tkr\-CB} {\em tkr\-Rtn}, \hyperlink{QLMC_8h_a11}{QLMC\_\-acd\-CB} {\em acd\-Rtn}, \hyperlink{QLMC_8h_a12}{QLMC\_\-dead\-CB} {\em dead\-Rtn})}}
\label{QLMC_8h_a15}


Read the contents of an LMC datagram file. 

This routine reads a file of LMC datagrams returned from the LAT, and calls a user-supplied processing routine for each type of data record found.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em f\-Name}]The name of the file to be displayed\item[{\em parm}]User parameter to pass to the processing routine.\item[{\em cal\-Rtn}]Routine to call for each LMC calorimeter data record in the file. Can be NULL.\item[{\em tkr\-Rtn}]Routine to call for each LMC tracker data record in the file. Can be NULL.\item[{\em acd\-Rtn}]Routine to call for each LMC ACD data record in the file. Can be NULL.\item[{\em dead\-Rtn}]Routine to call for each LMC deadtime data record in the file. Can be NULL.\end{description}
\end{Desc}
\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em QLMC\_\-SUCCESS}]Success\end{description}
\end{Desc}
