\section{lccd\-:\-:Data\-File\-Handler Class Reference}
\label{classlccd_1_1DataFileHandler}\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}}


Implementation of \doxyref{Conditions\-Handler\-Base}{p.}{classlccd_1_1ConditionsHandlerBase} that handles conditions data that is stored in a data L\-C\-I\-O file.  




{\ttfamily \#include $<$Data\-File\-Handler.\-hh$>$}

Inheritance diagram for lccd\-:\-:Data\-File\-Handler\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classlccd_1_1DataFileHandler}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Data\-File\-Handler} (const std\-::string \&{\bf name})
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
virtual void {\bf update\-Event} (lcio\-::\-L\-C\-Event $\ast$evt)
\begin{DoxyCompactList}\small\item\em Checks wether the collection is present in the event, if so it keeps it until a new version is found otherwise it adds the current collection to the event. \end{DoxyCompactList}\item 
virtual void {\bf update} ({\bf L\-C\-C\-D\-Time\-Stamp} timestamp)
\begin{DoxyCompactList}\small\item\em Retrieves the new conditions data if required by timestamp. \end{DoxyCompactList}\item 
virtual void {\bf register\-Default\-Collection} (lcio\-::\-L\-C\-Collection $\ast$col)
\begin{DoxyCompactList}\small\item\em Register a pointer to a default collection which will be passed to the \doxyref{I\-Conditions\-Change\-Listener}{p.}{classlccd_1_1IConditionsChangeListener} if no data can be found for a given time stamp. \end{DoxyCompactList}\item 
virtual lcio\-::\-L\-C\-Collection $\ast$ {\bf default\-Collection} ()
\begin{DoxyCompactList}\small\item\em The default collection registered with the handler. \end{DoxyCompactList}\item 
virtual lcio\-::\-L\-C\-Collection $\ast$ {\bf last\-Valid\-Collection} ()
\begin{DoxyCompactList}\small\item\em The last valid collection held by the handler. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of \doxyref{Conditions\-Handler\-Base}{p.}{classlccd_1_1ConditionsHandlerBase} that handles conditions data that is stored in a data L\-C\-I\-O file. 

The condition collection is kept until an event is presented that has a new version of the particular collection. The time stamps are ignored and the validity of the conditions data is determined by the sequence with which they appear in the data stream.\par
 This can for example be used in cases where the D\-A\-Q system writes slow control data into the same data stream as the raw data.

Upon registering an \doxyref{I\-Conditions\-Change\-Listener}{p.}{classlccd_1_1IConditionsChangeListener} with this Conditions Handler the call-\/back method registered\-With\-Handler( I\-Conditions\-Handler$\ast$ ch ) will be called. Likewise calling \doxyref{remove\-Change\-Listener( I\-Conditions\-Change\-Listener$\ast$ cl)}{p.}{classlccd_1_1ConditionsHandlerBase_a3231c12576bf08b59d698d8575dd48b0} will call the call-\/back method de\-Registered\-With\-Handler( I\-Conditions\-Handler$\ast$ ch )

Note\-: The use of default Collections is not implemented for this Class.

\begin{DoxyAuthor}{Author}
F.\-Gaede, S.\-Aplin, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Data\-File\-Handler.\-hh}{p.}{DataFileHandler_8hh_source},v 1.\-4 2007-\/04-\/27 13\-:21\-:31 gaede Exp 
\end{DoxyParagraph}


\subsection{Constructor \& Destructor Documentation}
\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!Data\-File\-Handler@{Data\-File\-Handler}}
\index{Data\-File\-Handler@{Data\-File\-Handler}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{Data\-File\-Handler}]{\setlength{\rightskip}{0pt plus 5cm}lccd\-::\-Data\-File\-Handler\-::\-Data\-File\-Handler (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{name}
\end{DoxyParamCaption}
)}\label{classlccd_1_1DataFileHandler_aa99fc049ca3e7a6f689018283d2ef6f5}


Default constructor. 


\begin{DoxyParams}{Parameters}
{\em name} & of this conditions data set -\/ used as collection name \\
\hline
\end{DoxyParams}


References lccd\-::\-Conditions\-Handler\-Base\-::\-\_\-col.



\subsection{Member Function Documentation}
\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!default\-Collection@{default\-Collection}}
\index{default\-Collection@{default\-Collection}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{default\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}lcio\-::\-L\-C\-Collection $\ast$ lccd\-::\-Data\-File\-Handler\-::default\-Collection (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classlccd_1_1DataFileHandler_af5eb1a0bd85a0cbcf3274f996e863dc3}


The default collection registered with the handler. 

\begin{DoxyWarning}{Warning}
Not implemented, use will cause exception to be thrown. 
\end{DoxyWarning}


Implements {\bf lccd\-::\-Conditions\-Handler\-Base} \doxyref{}{p.}{classlccd_1_1ConditionsHandlerBase_aaad4aa711429174ef535f730a4cee6f2}.



References lccd\-::\-Conditions\-Handler\-Base\-::name().

\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!last\-Valid\-Collection@{last\-Valid\-Collection}}
\index{last\-Valid\-Collection@{last\-Valid\-Collection}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{last\-Valid\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}lcio\-::\-L\-C\-Collection $\ast$ lccd\-::\-Data\-File\-Handler\-::last\-Valid\-Collection (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classlccd_1_1DataFileHandler_aa5d1872e827888da4ad67c8ba0e03b98}


The last valid collection held by the handler. 

\begin{DoxyWarning}{Warning}
Not implemented, use will cause exception to be thrown. 
\end{DoxyWarning}


Implements {\bf lccd\-::\-Conditions\-Handler\-Base} \doxyref{}{p.}{classlccd_1_1ConditionsHandlerBase_af0ca1ede2e09725aeb68599af7c3af23}.



References lccd\-::\-Conditions\-Handler\-Base\-::name().

\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!register\-Default\-Collection@{register\-Default\-Collection}}
\index{register\-Default\-Collection@{register\-Default\-Collection}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{register\-Default\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}void lccd\-::\-Data\-File\-Handler\-::register\-Default\-Collection (
\begin{DoxyParamCaption}
\item[{lcio\-::\-L\-C\-Collection $\ast$}]{col}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classlccd_1_1DataFileHandler_a6570b34259f4c7509a20871ec07d7c87}


Register a pointer to a default collection which will be passed to the \doxyref{I\-Conditions\-Change\-Listener}{p.}{classlccd_1_1IConditionsChangeListener} if no data can be found for a given time stamp. 

\begin{DoxyWarning}{Warning}
Not implemented, use will cause exception to be thrown. 
\end{DoxyWarning}


Implements {\bf lccd\-::\-Conditions\-Handler\-Base} \doxyref{}{p.}{classlccd_1_1ConditionsHandlerBase_a321cded6d463ec51b10191304440868b}.



References lccd\-::\-Conditions\-Handler\-Base\-::name().

\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!update@{update}}
\index{update@{update}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}virtual void lccd\-::\-Data\-File\-Handler\-::update (
\begin{DoxyParamCaption}
\item[{{\bf L\-C\-C\-D\-Time\-Stamp}}]{timestamp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classlccd_1_1DataFileHandler_aba38df4316e275dbe205626915fb09d3}


Retrieves the new conditions data if required by timestamp. 

Notifies all registered listeners\par
 See implementation classes for details. 

Implements {\bf lccd\-::\-Conditions\-Handler\-Base} \doxyref{}{p.}{classlccd_1_1ConditionsHandlerBase_aafbe952660e65887cd9290b4e62ae256}.

\index{lccd\-::\-Data\-File\-Handler@{lccd\-::\-Data\-File\-Handler}!update\-Event@{update\-Event}}
\index{update\-Event@{update\-Event}!lccd::DataFileHandler@{lccd\-::\-Data\-File\-Handler}}
\subsubsection[{update\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void lccd\-::\-Data\-File\-Handler\-::update\-Event (
\begin{DoxyParamCaption}
\item[{lcio\-::\-L\-C\-Event $\ast$}]{evt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classlccd_1_1DataFileHandler_a55d7c0741018701b2db015a26ea6f041}


Checks wether the collection is present in the event, if so it keeps it until a new version is found otherwise it adds the current collection to the event. 

\par
 The events time stamp is ignored.\par
 Notifies all registered listeners. 

Reimplemented from {\bf lccd\-::\-Conditions\-Handler\-Base} \doxyref{}{p.}{classlccd_1_1ConditionsHandlerBase_abf805ee1bb8c4ca332af9df520252fdf}.



References lccd\-::\-Conditions\-Handler\-Base\-::\-\_\-col, lccd\-::\-Conditions\-Handler\-Base\-::\-\_\-valid\-Since, lccd\-::\-Conditions\-Handler\-Base\-::\-\_\-valid\-Till, lccd\-::\-Conditions\-Handler\-Base\-::current\-Collection(), lccd\-::\-L\-C\-C\-D\-Plus\-Inf, lccd\-::\-Conditions\-Handler\-Base\-::name(), and lccd\-::\-Conditions\-Handler\-Base\-::notify\-Listeners().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Data\-File\-Handler.\-hh\item 
Data\-File\-Handler.\-cc\end{DoxyCompactItemize}
