\section{E\-V\-E\-N\-T\-:\-:L\-C\-Event Class Reference}
\label{classEVENT_1_1LCEvent}\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}


The main event interface.  




{\ttfamily \#include $<$pre-\/generated/\-E\-V\-E\-N\-T/\-L\-C\-Event.\-h$>$}

Inheritance diagram for E\-V\-E\-N\-T\-:\-:L\-C\-Event\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classEVENT_1_1LCEvent}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-L\-C\-Event} ()\label{classEVENT_1_1LCEvent_a4e1c813ea9dcc688fd61c9ff57c666c8}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual int {\bf get\-Run\-Number} () const =0\label{classEVENT_1_1LCEvent_a8b072837f6d09f46f999048361581811}

\begin{DoxyCompactList}\small\item\em Return the run number off this event. \end{DoxyCompactList}\item 
virtual int {\bf get\-Event\-Number} () const =0\label{classEVENT_1_1LCEvent_ac47efab72b158b653117d591902f37ce}

\begin{DoxyCompactList}\small\item\em Returns this event's number . \end{DoxyCompactList}\item 
virtual const std\-::string \& {\bf get\-Detector\-Name} () const =0\label{classEVENT_1_1LCEvent_a63fd8fa19121ed2859bd2c13f990c8de}

\begin{DoxyCompactList}\small\item\em Returns the name of the detector setup used in the simulation. \end{DoxyCompactList}\item 
virtual {\bf long64} {\bf get\-Time\-Stamp} () const =0
\begin{DoxyCompactList}\small\item\em Returns the time stamp of the event. \end{DoxyCompactList}\item 
virtual double {\bf get\-Weight} () const =0\label{classEVENT_1_1LCEvent_a991f32c795d9c0acfe768d1cb35ee078}

\begin{DoxyCompactList}\small\item\em Returns the event weight. \end{DoxyCompactList}\item 
virtual const std\-::vector\\*
$<$ std\-::string $>$ $\ast$ {\bf get\-Collection\-Names} () const =0\label{classEVENT_1_1LCEvent_a9128a3f65b8a94629c0cf5e77c0194ac}

\begin{DoxyCompactList}\small\item\em Returns the names of the collections in the event. \end{DoxyCompactList}\item 
virtual {\bf L\-C\-Collection} $\ast$ {\bf get\-Collection} (const std\-::string \&name) const =0  throw (\-Data\-Not\-Available\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Returns the collection for the given name. \end{DoxyCompactList}\item 
virtual {\bf L\-C\-Collection} $\ast$ {\bf take\-Collection} (const std\-::string \&name) const =0  throw (\-Data\-Not\-Available\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Returns the collection for the given name and transfers the ownership of the collection to the caller. \end{DoxyCompactList}\item 
virtual void {\bf add\-Collection} ({\bf L\-C\-Collection} $\ast$col, const std\-::string \&name)=0  throw (\-Event\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Adds a collection with the given name (has to be a valid C/\-C++ variable name). \end{DoxyCompactList}\item 
virtual void {\bf remove\-Collection} (const std\-::string \&name)=0  throw (\-Read\-Only\-Exception, std\-::exception )
\begin{DoxyCompactList}\small\item\em Removes (and deletes) the collection with name (if it exists in the event). \end{DoxyCompactList}\item 
virtual const {\bf L\-C\-Parameters} \& {\bf get\-Parameters} () const =0\label{classEVENT_1_1LCEvent_a16c174bca841e468950feeb1eb1a2163}

\begin{DoxyCompactList}\small\item\em Parameters defined for this event. \end{DoxyCompactList}\item 
virtual {\bf L\-C\-Parameters} \& {\bf parameters} ()=0\label{classEVENT_1_1LCEvent_a2a883a67cac9402efb23dc1d0cbd3939}

\begin{DoxyCompactList}\small\item\em Parameters defined for this event. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The main event interface. 

Holds named collections with elements of type \doxyref{L\-C\-Object}{p.}{classEVENT_1_1LCObject} ('untyped'). Users have to cast to the corresponding types.

\begin{DoxyAuthor}{Author}
gaede 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
L\-C\-Event.\-aid,v 1.\-14 2007-\/11-\/08 19\-:35\-:37 gaede Exp 
\end{DoxyParagraph}
\begin{DoxySeeAlso}{See Also}
\doxyref{L\-C\-Collection}{p.}{classEVENT_1_1LCCollection} 
\end{DoxySeeAlso}


\subsection{Member Function Documentation}
\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}!add\-Collection@{add\-Collection}}
\index{add\-Collection@{add\-Collection}!EVENT::LCEvent@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}
\subsubsection[{add\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}virtual void E\-V\-E\-N\-T\-::\-L\-C\-Event\-::add\-Collection (
\begin{DoxyParamCaption}
\item[{{\bf L\-C\-Collection} $\ast$}]{col, }
\item[{const std\-::string \&}]{name}
\end{DoxyParamCaption}
) throw  {\bf Event\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classEVENT_1_1LCEvent_a196a1cdaf4d299e4401b1c63de55b8d6}


Adds a collection with the given name (has to be a valid C/\-C++ variable name). 

Throws an exception if the name already exists in the event. N\-B\-: Adding collections is allowed even when the event is 'read only'.

\begin{DoxySeeAlso}{See Also}
validate\-Collection\-Name 
\end{DoxySeeAlso}

\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{Event\-Exception}{p.}{classEVENT_1_1EventException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf I\-M\-P\-L\-::\-L\-C\-Event\-Impl} \doxyref{}{p.}{classIMPL_1_1LCEventImpl_ab4aecffe2c5152938a97d63231ab9198}.

\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}!get\-Collection@{get\-Collection}}
\index{get\-Collection@{get\-Collection}!EVENT::LCEvent@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}
\subsubsection[{get\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf L\-C\-Collection}$\ast$ E\-V\-E\-N\-T\-::\-L\-C\-Event\-::get\-Collection (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{name}
\end{DoxyParamCaption}
) const throw  {\bf Data\-Not\-Available\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classEVENT_1_1LCEvent_a41362d5518779ea2f20de16448d9eb5a}


Returns the collection for the given name. 


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{Data\-Not\-Available\-Exception}{p.}{classEVENT_1_1DataNotAvailableException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf I\-M\-P\-L\-::\-L\-C\-Event\-Impl} \doxyref{}{p.}{classIMPL_1_1LCEventImpl_a4d76c984dde26f3c23349f39f5a18559}.



Referenced by U\-T\-I\-L\-::\-L\-C\-T\-O\-O\-L\-S\-::dump\-Event(), U\-T\-I\-L\-::\-L\-C\-T\-O\-O\-L\-S\-::dump\-Event\-Detailed(), and S\-I\-O\-::\-S\-I\-O\-Writer\-::set\-Up\-Handlers().

\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}!get\-Time\-Stamp@{get\-Time\-Stamp}}
\index{get\-Time\-Stamp@{get\-Time\-Stamp}!EVENT::LCEvent@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}
\subsubsection[{get\-Time\-Stamp}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf long64} E\-V\-E\-N\-T\-::\-L\-C\-Event\-::get\-Time\-Stamp (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classEVENT_1_1LCEvent_aa26e3cbaca1b17919bd00aa9e235ad88}


Returns the time stamp of the event. 

Timestamp is a unique 64 bit integer.\par
 Definition\-: ns since January 1, 1970, 00\-:00\-:00 G\-M\-T 

Implemented in {\bf I\-M\-P\-L\-::\-L\-C\-Event\-Impl} \doxyref{}{p.}{classIMPL_1_1LCEventImpl_ac418399c67a3c244de24a4209ecdd6db}.



Referenced by U\-T\-I\-L\-::\-L\-C\-T\-O\-O\-L\-S\-::dump\-Event\-Detailed().

\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}!remove\-Collection@{remove\-Collection}}
\index{remove\-Collection@{remove\-Collection}!EVENT::LCEvent@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}
\subsubsection[{remove\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}virtual void E\-V\-E\-N\-T\-::\-L\-C\-Event\-::remove\-Collection (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{name}
\end{DoxyParamCaption}
) throw  {\bf Read\-Only\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classEVENT_1_1LCEvent_a8e043ab165a9610242cb06344b530fdc}


Removes (and deletes) the collection with name (if it exists in the event). 

Throws an exception if the event is 'read only' as defined by the read mode in L\-C\-Reader.


\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{Read\-Only\-Exception}{p.}{classEVENT_1_1ReadOnlyException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf I\-M\-P\-L\-::\-L\-C\-Event\-Impl} \doxyref{}{p.}{classIMPL_1_1LCEventImpl_a8c3deed432bf1fd0222f233b9fa0fa37}.

\index{E\-V\-E\-N\-T\-::\-L\-C\-Event@{E\-V\-E\-N\-T\-::\-L\-C\-Event}!take\-Collection@{take\-Collection}}
\index{take\-Collection@{take\-Collection}!EVENT::LCEvent@{E\-V\-E\-N\-T\-::\-L\-C\-Event}}
\subsubsection[{take\-Collection}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf L\-C\-Collection}$\ast$ E\-V\-E\-N\-T\-::\-L\-C\-Event\-::take\-Collection (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{name}
\end{DoxyParamCaption}
) const throw  {\bf Data\-Not\-Available\-Exception}, std\-::exception) \hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classEVENT_1_1LCEvent_a01c16c69a73436e3168adf9de450274f}


Returns the collection for the given name and transfers the ownership of the collection to the caller. 

The caller is responsible for deleting the collection {\itshape after} the Event is deleted. The collection is still in the event but flagged as transient after the call returns.\par
 This is usefull when you want to keep the collection for the next events.\par
 Use with care! 
\begin{DoxyExceptions}{Exceptions}
{\em \doxyref{Data\-Not\-Available\-Exception}{p.}{classEVENT_1_1DataNotAvailableException}} & \\
\hline
\end{DoxyExceptions}


Implemented in {\bf I\-M\-P\-L\-::\-L\-C\-Event\-Impl} \doxyref{}{p.}{classIMPL_1_1LCEventImpl_aa1db12b150144e9697c976a77ab726a4}.



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