\section{marlin\-:\-:Data\-Source\-Processor Class Reference}
\label{classmarlin_1_1DataSourceProcessor}\index{marlin\-::\-Data\-Source\-Processor@{marlin\-::\-Data\-Source\-Processor}}


Base class for data source handlers that can read arbitrary non-\/\-L\-C\-I\-O input files and create L\-C\-I\-O events and run headers from that.  




{\ttfamily \#include $<$Data\-Source\-Processor.\-h$>$}

Inheritance diagram for marlin\-:\-:Data\-Source\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classmarlin_1_1DataSourceProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bfseries Data\-Source\-Processor} (const std\-::string \&type\-Name)\label{classmarlin_1_1DataSourceProcessor_ae60bdf9ca3c630f987279e2a2124e177}

\item 
virtual void {\bf read\-Data\-Source} (int num\-Events)=0
\begin{DoxyCompactList}\small\item\em User call back to read the data source and create the L\-C\-I\-O event and run header. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Base class for data source handlers that can read arbitrary non-\/\-L\-C\-I\-O input files and create L\-C\-I\-O events and run headers from that. 

If a user subclass is defined as active processor in the steering file {\itshape and} there are no L\-C\-I\-O input files defined than this class is called to generate the L\-C\-I\-O data stream.

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

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Data\-Source\-Processor.\-h}{p.}{DataSourceProcessor_8h_source},v 1.\-3 2005-\/10-\/11 12\-:56\-:28 gaede Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{marlin\-::\-Data\-Source\-Processor@{marlin\-::\-Data\-Source\-Processor}!read\-Data\-Source@{read\-Data\-Source}}
\index{read\-Data\-Source@{read\-Data\-Source}!marlin::DataSourceProcessor@{marlin\-::\-Data\-Source\-Processor}}
\subsubsection[{read\-Data\-Source}]{\setlength{\rightskip}{0pt plus 5cm}virtual void marlin\-::\-Data\-Source\-Processor\-::read\-Data\-Source (
\begin{DoxyParamCaption}
\item[{int}]{num\-Events}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classmarlin_1_1DataSourceProcessor_af712a795172ab711c7c8afa2e95315a6}


User call back to read the data source and create the L\-C\-I\-O event and run header. 

The user needs to call Process\-Mgr\-::process\-Run\-Header(\-L\-C\-Run\-Header$\ast$ rhdr) and Process\-Mgr\-::process\-Event(\-L\-C\-Event$\ast$ evt) in order to call the relevant \doxyref{Processor}{p.}{classmarlin_1_1Processor} methods in \doxyref{read\-Data\-Source()}{p.}{classmarlin_1_1DataSourceProcessor_af712a795172ab711c7c8afa2e95315a6}.\par
 
\begin{DoxyParams}{Parameters}
{\em num\-Events} & The number of events the \doxyref{Data\-Source\-Processor}{p.}{classmarlin_1_1DataSourceProcessor} should generate. \\
\hline
\end{DoxyParams}


Implemented in {\bf marlin\-::\-Std\-Hep\-Reader} \doxyref{}{p.}{classmarlin_1_1StdHepReader_ace426bfb29e4ebfe35dccd4422f39917}.



Referenced by marlin\-::\-Processor\-Mgr\-::read\-Data\-Source().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Data\-Source\-Processor.\-h\item 
Data\-Source\-Processor.\-cc\end{DoxyCompactItemize}
