\section{marlin\-:\-:L\-C\-I\-O\-Output\-Processor Class Reference}
\label{classmarlin_1_1LCIOOutputProcessor}\index{marlin\-::\-L\-C\-I\-O\-Output\-Processor@{marlin\-::\-L\-C\-I\-O\-Output\-Processor}}


Default output processor.  




{\ttfamily \#include $<$L\-C\-I\-O\-Output\-Processor.\-h$>$}

Inheritance diagram for marlin\-:\-:L\-C\-I\-O\-Output\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlin_1_1LCIOOutputProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf Processor} $\ast$ {\bf new\-Processor} ()
\begin{DoxyCompactList}\small\item\em Return a new instance of the processor. \end{DoxyCompactList}\item 
{\bf L\-C\-I\-O\-Output\-Processor} (const std\-::string \&type\-Name)\label{classmarlin_1_1LCIOOutputProcessor_acedd39ac93a99d105fb8a3d8a5cf2e7e}

\begin{DoxyCompactList}\small\item\em C'tor for possible subclasses. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-L\-C\-I\-O\-Output\-Processor} ()\label{classmarlin_1_1LCIOOutputProcessor_a60b8f3324a2813acc8093849430dc042}

\begin{DoxyCompactList}\small\item\em D'tor for subclasses. \end{DoxyCompactList}\item 
virtual void {\bf init} ()\label{classmarlin_1_1LCIOOutputProcessor_a23c540ec3d9be10fc4e4b5431bfe64e4}

\begin{DoxyCompactList}\small\item\em Open the L\-C\-I\-O outputfile. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (L\-C\-Run\-Header $\ast$run)\label{classmarlin_1_1LCIOOutputProcessor_af128e9379a08ca77cd776bf6e6865dda}

\begin{DoxyCompactList}\small\item\em Write every run header. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (L\-C\-Event $\ast$evt)\label{classmarlin_1_1LCIOOutputProcessor_ae891a72a5492ec190797823408284b6c}

\begin{DoxyCompactList}\small\item\em Write every event. \end{DoxyCompactList}\item 
virtual void {\bf end} ()\label{classmarlin_1_1LCIOOutputProcessor_a03a7ac4d65110b0555dbfdec51a819a1}

\begin{DoxyCompactList}\small\item\em Close outputfile. \end{DoxyCompactList}\item 
void {\bf drop\-Collections} (L\-C\-Event $\ast$evt)\label{classmarlin_1_1LCIOOutputProcessor_aa9bd0d3e4fdfb05089e41a54a021e27f}

\begin{DoxyCompactList}\small\item\em Drops the collections specified in the steering file parameters Drop\-Collection\-Names and Drop\-Collection\-Types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bfseries \-\_\-lcio\-Output\-File}\label{classmarlin_1_1LCIOOutputProcessor_af44babcf1482fa362fdfa7e2d6ed8310}

\item 
std\-::string {\bfseries \-\_\-lcio\-Write\-Mode}\label{classmarlin_1_1LCIOOutputProcessor_a4c5538f0871e61f1b787d02809d86d52}

\item 
String\-Vec {\bfseries \-\_\-drop\-Collection\-Names}\label{classmarlin_1_1LCIOOutputProcessor_a10069281c53ce7743630cca398a3d1df}

\item 
String\-Vec {\bfseries \-\_\-drop\-Collection\-Types}\label{classmarlin_1_1LCIOOutputProcessor_a416b2f3feb01774731be04c49b4fe654}

\item 
String\-Vec {\bfseries \-\_\-keep\-Collection\-Names}\label{classmarlin_1_1LCIOOutputProcessor_a0e3a6621323897b03c2f3bc0b6882fb7}

\item 
String\-Vec {\bfseries \-\_\-full\-Subset\-Collections}\label{classmarlin_1_1LCIOOutputProcessor_ad1db2c7692707e64070e9a189f9af9fe}

\item 
int {\bfseries \-\_\-split\-File\-Sizek\-B}\label{classmarlin_1_1LCIOOutputProcessor_a2176fc022df649679fabf195baad4c66}

\item 
Sub\-Set\-Vec {\bfseries \-\_\-sub\-Sets}\label{classmarlin_1_1LCIOOutputProcessor_a981208e2da707466823b8c84e64e84ee}

\item 
L\-C\-Writer $\ast$ {\bfseries \-\_\-lc\-Wrt}\label{classmarlin_1_1LCIOOutputProcessor_a6cc6e63fd6041ac4caaf1eba58cddc29}

\item 
int {\bfseries \-\_\-n\-Run}\label{classmarlin_1_1LCIOOutputProcessor_a4633eee95acf14f6b06a6b580bb7f62f}

\item 
int {\bfseries \-\_\-n\-Evt}\label{classmarlin_1_1LCIOOutputProcessor_ab68bbcfe8f8127ec679f31edaff5b328}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Default output processor. 

If active every event is writen to the specified L\-C\-I\-O file. Make sure that the processor is the last one in your list of active processors. You can optionally drop some collections from the event before it gets written to the file, e.\-g. you can drop all collections of types Sim\-Calorimeter\-Hit and Sim\-Tracker\-Hit. It is the users responsibility to check whether the droped objects are still referenced by other objects (e.\-g. L\-C\-Relations) and drop those collections as well -\/ if needed. If Calorimeter\-Hit and Tracker\-Hit objects are droped then Tracks and clusters will be store w/o pointers to hits.

\subparagraph*{Output}

file containing the L\-C\-I\-O events


\begin{DoxyParams}{Parameters}
{\em L\-C\-I\-O\-Output\-File} & name of outputfile incl. path \\
\hline
{\em L\-C\-I\-O\-Write\-Mode} & W\-R\-I\-T\-E\-\_\-\-N\-E\-W, W\-R\-I\-T\-E\-\_\-\-A\-P\-P\-E\-N\-D [optional] \\
\hline
{\em Drop\-Collection\-Names} & name of collections to be droped [optional] \\
\hline
{\em Drop\-Collection\-Types} & type of collections to be droped [optional]\\
\hline
{\em Drop\-Collection\-Names} & drops the named collections from the event \\
\hline
{\em Drop\-Collection\-Types} & drops all collections of the given type from the event \\
\hline
{\em L\-C\-I\-O\-Output\-File} & name of output file \\
\hline
{\em L\-C\-I\-O\-Write\-Mode} & write mode for output file\-: W\-R\-I\-T\-E\-\_\-\-A\-P\-P\-E\-N\-D or W\-R\-I\-T\-E\-\_\-\-N\-E\-W \\
\hline
{\em Keep\-Collection\-Names} & names of collections that are to be kept unconditionally \\
\hline
{\em full\-Subset\-Collections} & optionally write all objects in subset collections to the file\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
F. Gaede, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{L\-C\-I\-O\-Output\-Processor.\-h}{p.}{LCIOOutputProcessor_8h_source},v 1.\-8 2008-\/04-\/15 10\-:14\-:24 gaede Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{marlin\-::\-L\-C\-I\-O\-Output\-Processor@{marlin\-::\-L\-C\-I\-O\-Output\-Processor}!new\-Processor@{new\-Processor}}
\index{new\-Processor@{new\-Processor}!marlin::LCIOOutputProcessor@{marlin\-::\-L\-C\-I\-O\-Output\-Processor}}
\subsubsection[{new\-Processor}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Processor}$\ast$ marlin\-::\-L\-C\-I\-O\-Output\-Processor\-::new\-Processor (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classmarlin_1_1LCIOOutputProcessor_a6caa14489b13c7e0efa4b720ace3823e}


Return a new instance of the processor. 

Has to be implemented by subclasses. 

Implements {\bf marlin\-::\-Processor} \doxyref{}{p.}{classmarlin_1_1Processor_a75ba6b66644e5273a896053df31aac4d}.



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
L\-C\-I\-O\-Output\-Processor.\-h\item 
L\-C\-I\-O\-Output\-Processor.\-cc\end{DoxyCompactItemize}
