\section{I\-O\-:\-:L\-C\-Reader Class Reference}
\label{classIO_1_1LCReader}\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}}


Interface for reading data from L\-C\-I\-O.  




{\ttfamily \#include $<$pre-\/generated/\-I\-O/\-L\-C\-Reader.\-h$>$}

Inheritance diagram for I\-O\-:\-:L\-C\-Reader\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classIO_1_1LCReader}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-L\-C\-Reader} ()\label{classIO_1_1LCReader_a4289bb914e8a3b6cf37f95967f7722ed}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual void {\bf open} (const std\-::string \&filename)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Opens a file for reading (read-\/only). \end{DoxyCompactList}\item 
virtual void {\bf open} (const std\-::vector$<$ std\-::string $>$ \&filenames)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Opens a list of files for reading (read-\/only). \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header} $\ast$ {\bf read\-Next\-Run\-Header} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads the next run header from the file. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header} $\ast$ {\bf read\-Next\-Run\-Header} (int access\-Mode)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Same as \doxyref{read\-Next\-Run\-Header()}{p.}{classIO_1_1LCReader_a3c082c91f2194e2786b40229ab4fd38b} but allows to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event} $\ast$ {\bf read\-Next\-Event} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads the next event from the file. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event} $\ast$ {\bf read\-Next\-Event} (int access\-Mode)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Same as \doxyref{read\-Next\-Event()}{p.}{classIO_1_1LCReader_a4bddd82c63b0224c5b6c93b1357e5064} but allows to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. \end{DoxyCompactList}\item 
virtual int {\bf get\-Number\-Of\-Events} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Return the number of events in the file -\/ the file has to be open. \end{DoxyCompactList}\item 
virtual int {\bf get\-Number\-Of\-Runs} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Return the number of runs (run headers) in the file -\/ the file has to be open. \end{DoxyCompactList}\item 
virtual void {\bf get\-Runs} ({\bf E\-V\-E\-N\-T\-::\-Int\-Vec} \&runs)=0
\begin{DoxyCompactList}\small\item\em Return the run numbers of the runs (run headers) in the file -\/ the file has to be open. \end{DoxyCompactList}\item 
virtual void {\bf get\-Events} ({\bf E\-V\-E\-N\-T\-::\-Int\-Vec} \&events)=0
\begin{DoxyCompactList}\small\item\em Return the run and event numbers of the events in the file -\/ the file has to be open. \end{DoxyCompactList}\item 
virtual void {\bf set\-Read\-Collection\-Names} (const std\-::vector$<$ std\-::string $>$ \&colnames)=0
\begin{DoxyCompactList}\small\item\em Limit the collection names that are going to be read to the subset given in the vector -\/ all other collection will be ignored. \end{DoxyCompactList}\item 
virtual void {\bf skip\-N\-Events} (int n)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Skips the next n events from the current position. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header} $\ast$ {\bf read\-Run\-Header} (int run\-Number)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads the specified run\-Header from file. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header} $\ast$ {\bf read\-Run\-Header} (int run\-Number, int access\-Mode)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Same as L\-C\-Event$\ast$ \doxyref{read\-Run\-Header(int run\-Number)}{p.}{classIO_1_1LCReader_a74b4606602dea49f756bf46640b0d184} allowing to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event} $\ast$ {\bf read\-Event} (int run\-Number, int evt\-Number)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads the specified event from file. \end{DoxyCompactList}\item 
virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event} $\ast$ {\bf read\-Event} (int run\-Number, int evt\-Number, int access\-Mode)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Same as L\-C\-Event$\ast$ \doxyref{read\-Event(int run\-Number, int evt\-Number)}{p.}{classIO_1_1LCReader_a3a290764ae704e51f3f898163c89ea1d} allowing to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. \end{DoxyCompactList}\item 
virtual void {\bf close} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Closes the output file/stream etc. \end{DoxyCompactList}\item 
virtual void {\bf register\-L\-C\-Event\-Listener} ({\bf L\-C\-Event\-Listener} $\ast$ls)=0\label{classIO_1_1LCReader_aa5281774be204a298dd60c154aebf637}

\begin{DoxyCompactList}\small\item\em Registers a listener for reading L\-C\-Events from a stream. \end{DoxyCompactList}\item 
virtual void {\bf remove\-L\-C\-Event\-Listener} ({\bf L\-C\-Event\-Listener} $\ast$ls)=0\label{classIO_1_1LCReader_a3ba91e3f236fff9515eacdd745c01f3c}

\begin{DoxyCompactList}\small\item\em Remove a listener for reading L\-C\-Events from a stream. \end{DoxyCompactList}\item 
virtual void {\bf register\-L\-C\-Run\-Listener} ({\bf L\-C\-Run\-Listener} $\ast$ls)=0\label{classIO_1_1LCReader_a6e66fa58ad8f89b9262e6c189adc9e95}

\begin{DoxyCompactList}\small\item\em Registers a listener for reading L\-C\-Events\-L\-C\-Run\-Headers from a stream. \end{DoxyCompactList}\item 
virtual void {\bf remove\-L\-C\-Run\-Listener} ({\bf L\-C\-Run\-Listener} $\ast$ls)=0\label{classIO_1_1LCReader_a598f04d4dbbd5935dfb3d679682d56f8}

\begin{DoxyCompactList}\small\item\em Remove a listener for reading L\-C\-Run\-Headers from a stream. \end{DoxyCompactList}\item 
virtual void {\bf read\-Stream} ()=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads the input stream and notifies registered listeners according to the object type found in the stream. \end{DoxyCompactList}\item 
virtual void {\bf read\-Stream} (int max\-Record)=0  throw (\-I\-O\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Reads max\-Record from the input stream and notifies registered listeners according to the object type found in the stream. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const int {\bf direct\-Access} = 0x00000001 $<$$<$ 0
\begin{DoxyCompactList}\small\item\em Configuration flags for the \doxyref{L\-C\-Reader}{p.}{classIO_1_1LCReader} instance -\/ to be used with L\-C\-Factory\-::create\-L\-C\-Reader(). \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Interface for reading data from L\-C\-I\-O. 

Use L\-C\-Factory to instantiate a corresponding \doxyref{L\-C\-Writer}{p.}{classIO_1_1LCWriter} object for the output format at hand (\doxyref{S\-I\-O}{p.}{namespaceSIO} only, so far).

\begin{DoxySeeAlso}{See Also}
L\-C\-Factory
\end{DoxySeeAlso}
\begin{DoxyAuthor}{Author}
gaede 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
Mar 4, 2003 
\end{DoxyVersion}


\subsection{Member Function Documentation}
\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!close@{close}}
\index{close@{close}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::close (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a62585716ccdb5d5c1e1a9bd043c07dcb}


Closes the output file/stream etc. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a65b1877cb80ff3821c1a693a75e301f8}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!get\-Events@{get\-Events}}
\index{get\-Events@{get\-Events}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{get\-Events}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::get\-Events (
\begin{DoxyParamCaption}
\item[{{\bf E\-V\-E\-N\-T\-::\-Int\-Vec} \&}]{events}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_ae3057b1ff973556e430f4b18cc67ac22}


Return the run and event numbers of the events in the file -\/ the file has to be open. 

In case several input files are specified in the \doxyref{open()}{p.}{classIO_1_1LCReader_a526ffc1f09e8264f6335cc60039f43ef} method -\/ the run and event numbers of the events in the file that is currently open are returned. The size of the vector events will be twice the number of events, where i-\/th run number will be in events[2$\ast$i] and the i-\/th event number in events[2$\ast$i+]. 

Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_aae7b456825af3094810672850de8bd8e}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!get\-Number\-Of\-Events@{get\-Number\-Of\-Events}}
\index{get\-Number\-Of\-Events@{get\-Number\-Of\-Events}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{get\-Number\-Of\-Events}]{\setlength{\rightskip}{0pt plus 5cm}virtual int I\-O\-::\-L\-C\-Reader\-::get\-Number\-Of\-Events (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_ada753d6d1e6d6f460560ed6c53107bec}


Return the number of events in the file -\/ the file has to be open. 

In case several input files are specified in the \doxyref{open()}{p.}{classIO_1_1LCReader_a526ffc1f09e8264f6335cc60039f43ef} method -\/ the number of events in the file that is currently open is returned. 

Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_af4fe67eb353f497ca935b10733088c13}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!get\-Number\-Of\-Runs@{get\-Number\-Of\-Runs}}
\index{get\-Number\-Of\-Runs@{get\-Number\-Of\-Runs}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{get\-Number\-Of\-Runs}]{\setlength{\rightskip}{0pt plus 5cm}virtual int I\-O\-::\-L\-C\-Reader\-::get\-Number\-Of\-Runs (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a7497d188a5c67aa8530a2edf23cf6625}


Return the number of runs (run headers) in the file -\/ the file has to be open. 

In case several input files are specified in the \doxyref{open()}{p.}{classIO_1_1LCReader_a526ffc1f09e8264f6335cc60039f43ef} method -\/ the number of runs (run headers) in the file that is currently open is returned. 

Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a1e6aa0aeb62857b5c94b5224a0a830d5}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!get\-Runs@{get\-Runs}}
\index{get\-Runs@{get\-Runs}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{get\-Runs}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::get\-Runs (
\begin{DoxyParamCaption}
\item[{{\bf E\-V\-E\-N\-T\-::\-Int\-Vec} \&}]{runs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_ab0f37e43a643445ea6a4285a31146272}


Return the run numbers of the runs (run headers) in the file -\/ the file has to be open. 

In case several input files are specified in the \doxyref{open()}{p.}{classIO_1_1LCReader_a526ffc1f09e8264f6335cc60039f43ef} method -\/ the run numbers of the runs (run headers) in the file that is currently open is returned. 

Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a9c6809ed59279fb1cd087b3c5a44c159}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!open@{open}}
\index{open@{open}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::open (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{filename}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a526ffc1f09e8264f6335cc60039f43ef}


Opens a file for reading (read-\/only). 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_ac2e84d6f07335e1bdde0747e58d8eae8}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!open@{open}}
\index{open@{open}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::open (
\begin{DoxyParamCaption}
\item[{const std\-::vector$<$ std\-::string $>$ \&}]{filenames}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a3a66e7675b275d38581ef95a09579a53}


Opens a list of files for reading (read-\/only). 

All subsequent read operations will operate on the list, i.\-e. if an E\-O\-F is encountered the next file in the list will be opened and read transparently to the user.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_ab2076d97a5fc17963c04f4525d1e5048}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Event@{read\-Event}}
\index{read\-Event@{read\-Event}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Event (
\begin{DoxyParamCaption}
\item[{int}]{run\-Number, }
\item[{int}]{evt\-Number}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a3a290764ae704e51f3f898163c89ea1d}


Reads the specified event from file. 

Returns N\-U\-L\-L if the specified event hasn't been found in the file.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a59865ca183481eea07a5cc57da138680}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Event@{read\-Event}}
\index{read\-Event@{read\-Event}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Event (
\begin{DoxyParamCaption}
\item[{int}]{run\-Number, }
\item[{int}]{evt\-Number, }
\item[{int}]{access\-Mode}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a97fe509e545f34dce96e7a58adef43f2}


Same as L\-C\-Event$\ast$ \doxyref{read\-Event(int run\-Number, int evt\-Number)}{p.}{classIO_1_1LCReader_a3a290764ae704e51f3f898163c89ea1d} allowing to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a77c87143daeac8610fa4c514591999de}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Next\-Event@{read\-Next\-Event}}
\index{read\-Next\-Event@{read\-Next\-Event}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Next\-Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Next\-Event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a4bddd82c63b0224c5b6c93b1357e5064}


Reads the next event from the file. 

Returns N\-U\-L\-L if 'E\-O\-F' read.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_ab06b585581e9afa2401696bb041531ca}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Next\-Event@{read\-Next\-Event}}
\index{read\-Next\-Event@{read\-Next\-Event}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Next\-Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Event}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Next\-Event (
\begin{DoxyParamCaption}
\item[{int}]{access\-Mode}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_aafca3a9b5f9c39ac24be9bb6b59f4669}


Same as \doxyref{read\-Next\-Event()}{p.}{classIO_1_1LCReader_a4bddd82c63b0224c5b6c93b1357e5064} but allows to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a0782381839bb861db97a1eae5180e922}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Next\-Run\-Header@{read\-Next\-Run\-Header}}
\index{read\-Next\-Run\-Header@{read\-Next\-Run\-Header}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Next\-Run\-Header}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Next\-Run\-Header (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a3c082c91f2194e2786b40229ab4fd38b}


Reads the next run header from the file. 

Returns N\-U\-L\-L if 'E\-O\-F' read.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a2a7d155c85e13a49190a2b6f91178f45}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Next\-Run\-Header@{read\-Next\-Run\-Header}}
\index{read\-Next\-Run\-Header@{read\-Next\-Run\-Header}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Next\-Run\-Header}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Next\-Run\-Header (
\begin{DoxyParamCaption}
\item[{int}]{access\-Mode}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a2bc66e14b6df1e20cfc0e72f05921266}


Same as \doxyref{read\-Next\-Run\-Header()}{p.}{classIO_1_1LCReader_a3c082c91f2194e2786b40229ab4fd38b} but allows to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_afa43f01023559aba2aa6c34da426c5c6}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Run\-Header@{read\-Run\-Header}}
\index{read\-Run\-Header@{read\-Run\-Header}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Run\-Header}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Run\-Header (
\begin{DoxyParamCaption}
\item[{int}]{run\-Number}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a74b4606602dea49f756bf46640b0d184}


Reads the specified run\-Header from file. 

Returns N\-U\-L\-L if the specified run\-Header hasn't been found in the file.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_af0ce7f4cc33577010286e373fbc13306}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Run\-Header@{read\-Run\-Header}}
\index{read\-Run\-Header@{read\-Run\-Header}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Run\-Header}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf E\-V\-E\-N\-T\-::\-L\-C\-Run\-Header}$\ast$ I\-O\-::\-L\-C\-Reader\-::read\-Run\-Header (
\begin{DoxyParamCaption}
\item[{int}]{run\-Number, }
\item[{int}]{access\-Mode}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a60b15262f5060940224ab06c9f2b74b6}


Same as L\-C\-Event$\ast$ \doxyref{read\-Run\-Header(int run\-Number)}{p.}{classIO_1_1LCReader_a74b4606602dea49f756bf46640b0d184} allowing to set the access mode L\-C\-I\-O\-::\-R\-E\-A\-D\-\_\-\-O\-N\-L\-Y (default) or L\-C\-I\-O\-::\-Update. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a5fcd28348214a80f7e0a569175bd1e1b}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Stream@{read\-Stream}}
\index{read\-Stream@{read\-Stream}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Stream}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::read\-Stream (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a975b125dff2efdf2d820643aaccbed31}


Reads the input stream and notifies registered listeners according to the object type found in the stream. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_aae1b9365b6851cd0f1e4372e23226921}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!read\-Stream@{read\-Stream}}
\index{read\-Stream@{read\-Stream}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{read\-Stream}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::read\-Stream (
\begin{DoxyParamCaption}
\item[{int}]{max\-Record}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a4f79a39bd76d6756f47815d36794eb97}


Reads max\-Record from the input stream and notifies registered listeners according to the object type found in the stream. 

An exception is thrown if less than max\-Record where read from the file.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_af88ed1dadc37b96c0d67a6f853f76778}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!set\-Read\-Collection\-Names@{set\-Read\-Collection\-Names}}
\index{set\-Read\-Collection\-Names@{set\-Read\-Collection\-Names}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{set\-Read\-Collection\-Names}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::set\-Read\-Collection\-Names (
\begin{DoxyParamCaption}
\item[{const std\-::vector$<$ std\-::string $>$ \&}]{colnames}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_ab8f9a8784a52e318008d085dc3bc3a10}


Limit the collection names that are going to be read to the subset given in the vector -\/ all other collection will be ignored. 

This might improve the reading performance considerably in cases where only a small subset of the collections in the event is needed. 

Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_abae3e3c2751213b93645bb6b51514549}.

\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!skip\-N\-Events@{skip\-N\-Events}}
\index{skip\-N\-Events@{skip\-N\-Events}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{skip\-N\-Events}]{\setlength{\rightskip}{0pt plus 5cm}virtual void I\-O\-::\-L\-C\-Reader\-::skip\-N\-Events (
\begin{DoxyParamCaption}
\item[{int}]{n}
\end{DoxyParamCaption}
) throw  {\bf I\-O\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classIO_1_1LCReader_a38be826f2fd75e6072f07fdea0ef30e4}


Skips the next n events from the current position. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{I\-O\-Exception}{p.}{classIO_1_1IOException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf S\-I\-O\-::\-S\-I\-O\-Reader} \doxyref{}{p.}{classSIO_1_1SIOReader_a9989f2edfa7bb63e6811104cbf20df45}.



\subsection{Member Data Documentation}
\index{I\-O\-::\-L\-C\-Reader@{I\-O\-::\-L\-C\-Reader}!direct\-Access@{direct\-Access}}
\index{direct\-Access@{direct\-Access}!IO::LCReader@{I\-O\-::\-L\-C\-Reader}}
\subsubsection[{direct\-Access}]{\setlength{\rightskip}{0pt plus 5cm}const int I\-O\-::\-L\-C\-Reader\-::direct\-Access = 0x00000001 $<$$<$ 0\hspace{0.3cm}{\ttfamily [static]}}\label{classIO_1_1LCReader_a146bdbceb3f741e9bf1aa0c965aee535}


Configuration flags for the \doxyref{L\-C\-Reader}{p.}{classIO_1_1LCReader} instance -\/ to be used with L\-C\-Factory\-::create\-L\-C\-Reader(). 



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
L\-C\-Reader.\-h\end{DoxyCompactItemize}
