\section{marlin\-:\-:A\-I\-D\-A\-Processor Class Reference}
\label{classmarlin_1_1AIDAProcessor}\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}}


Provides access to A\-I\-D\-A histograms, ntuples, etc.  




{\ttfamily \#include $<$A\-I\-D\-A\-Processor.\-h$>$}

Inheritance diagram for marlin\-:\-:A\-I\-D\-A\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlin_1_1AIDAProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf Processor} $\ast$ {\bf new\-Processor} ()\label{classmarlin_1_1AIDAProcessor_a75a426e4f456d50512b5bd8a7ea679ba}

\begin{DoxyCompactList}\small\item\em \doxyref{A\-I\-D\-A\-Processor}{p.}{classmarlin_1_1AIDAProcessor} needs to be a singleton. \end{DoxyCompactList}\item 
virtual void {\bf init} ()
\begin{DoxyCompactList}\small\item\em Called at the begin of the job before anything is read. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (L\-C\-Run\-Header $\ast$run)\label{classmarlin_1_1AIDAProcessor_a6fba6814c0f1af5dd7650e035cdc6fc8}

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

\begin{DoxyCompactList}\small\item\em nothing processed here \end{DoxyCompactList}\item 
virtual void {\bf check} (L\-C\-Event $\ast$evt)\label{classmarlin_1_1AIDAProcessor_a8e150796de147ee8d55aa5151f499bd5}

\begin{DoxyCompactList}\small\item\em Fills plot with processing time. \end{DoxyCompactList}\item 
virtual void {\bf end} ()\label{classmarlin_1_1AIDAProcessor_aa6b39fbd39f82d8f968ea6be3309737b}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static A\-I\-D\-A\-::\-I\-Histogram\-Factory $\ast$ {\bf histogram\-Factory} (const {\bf Processor} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Returns an A\-I\-D\-A histogram factory for the given processor with the current directory set to the processor's name. \end{DoxyCompactList}\item 
static A\-I\-D\-A\-::\-I\-Tuple\-Factory $\ast$ {\bf tuple\-Factory} (const {\bf Processor} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Returns an A\-I\-D\-A tuple factory for the given processor with the current directory set to the processor's name. \end{DoxyCompactList}\item 
static A\-I\-D\-A\-::\-I\-Tree $\ast$ {\bf tree} (const {\bf Processor} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Returns an A\-I\-D\-A treefor the given processor with the current directory set to the processor's name. \end{DoxyCompactList}\item 
static A\-I\-D\-A\-::\-I\-Data\-Point\-Set\-Factory $\ast$ {\bf data\-Point\-Set\-Factory} (const {\bf Processor} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Returns an A\-I\-D\-A data\-Point\-Set factory for the given processor with the current directory set to the processor's name. \end{DoxyCompactList}\item 
static A\-I\-D\-A\-::\-I\-Analysis\-Factory $\ast$ {\bf Get\-I\-Analysis\-Factory} (const {\bf Processor} $\ast$proc)
\begin{DoxyCompactList}\small\item\em Returns an A\-I\-D\-A analysis factory for the given processor with the current directory set to the processor's name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
A\-I\-D\-A\-::\-I\-Analysis\-Factory $\ast$ {\bfseries \-\_\-analysis\-Factory}\label{classmarlin_1_1AIDAProcessor_a47f85a9b6d64a3d042d52675f22cb8c4}

\item 
A\-I\-D\-A\-::\-I\-Tree\-Factory $\ast$ {\bfseries \-\_\-tree\-Factory}\label{classmarlin_1_1AIDAProcessor_afc56bc6f54416c0b38f077a815f17954}

\item 
A\-I\-D\-A\-::\-I\-Tree $\ast$ {\bfseries \-\_\-tree}\label{classmarlin_1_1AIDAProcessor_a4d98795882eab7ca584cfdb22bde5325}

\item 
A\-I\-D\-A\-::\-I\-Histogram\-Factory $\ast$ {\bfseries \-\_\-histo\-Factory}\label{classmarlin_1_1AIDAProcessor_a9e36f1749cecdc3bda1e74fc0cff145a}

\item 
A\-I\-D\-A\-::\-I\-Tuple\-Factory $\ast$ {\bfseries \-\_\-tuple\-Factory}\label{classmarlin_1_1AIDAProcessor_a9cb3881a9b6f63289116523282039fd8}

\item 
A\-I\-D\-A\-::\-I\-Data\-Point\-Set\-Factory $\ast$ {\bfseries \-\_\-data\-Point\-Set\-Factory}\label{classmarlin_1_1AIDAProcessor_a5a4a736050a4abac7df756b2b368d57b}

\item 
std\-::string {\bfseries \-\_\-file\-Type}\label{classmarlin_1_1AIDAProcessor_a6193d74a4aa545990a58686475c831a9}

\item 
std\-::string {\bfseries \-\_\-file\-Name}\label{classmarlin_1_1AIDAProcessor_ad817ca0664913c35a8029535ced2a541}

\item 
int {\bfseries \-\_\-compress}\label{classmarlin_1_1AIDAProcessor_addfeb191f768faea9b78c35641151202}

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


\subsection{Detailed Description}
Provides access to A\-I\-D\-A histograms, ntuples, etc. 

This module creates an A\-I\-D\-A file and histogram and tuple factories that can be used in all processors of a Marlin application.

\subparagraph*{Input -\/ Prerequisites}

No input needed for this processor. Make sure it is included in the list of active processors before any processor that books/fills histograms.

\subparagraph*{Output}

none


\begin{DoxyParams}{Parameters}
{\em Compress} & compression of output file 0\-: false $>$0\-: true (default) \\
\hline
{\em File\-Name} & filename without extension \\
\hline
{\em File\-Type} & type of output file xml (default) or root ( only Open\-Scientist)\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
F. Gaede, D\-E\-S\-Y 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{A\-I\-D\-A\-Processor.\-h}{p.}{AIDAProcessor_8h_source},v 1.\-7 2008-\/04-\/15 10\-:12\-:28 gaede Exp 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!data\-Point\-Set\-Factory@{data\-Point\-Set\-Factory}}
\index{data\-Point\-Set\-Factory@{data\-Point\-Set\-Factory}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{data\-Point\-Set\-Factory}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Data\-Point\-Set\-Factory $\ast$ marlin\-::\-A\-I\-D\-A\-Processor\-::data\-Point\-Set\-Factory (
\begin{DoxyParamCaption}
\item[{const {\bf Processor} $\ast$}]{proc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classmarlin_1_1AIDAProcessor_abb8576be248f031dedaacb51fa9f56ac}


Returns an A\-I\-D\-A data\-Point\-Set factory for the given processor with the current directory set to the processor's name. 

Call right before using the factory to create data\-Point\-Sets. 

Referenced by marlin\-::\-Simple\-Fast\-M\-C\-Processor\-::end().

\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!Get\-I\-Analysis\-Factory@{Get\-I\-Analysis\-Factory}}
\index{Get\-I\-Analysis\-Factory@{Get\-I\-Analysis\-Factory}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{Get\-I\-Analysis\-Factory}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Analysis\-Factory $\ast$ marlin\-::\-A\-I\-D\-A\-Processor\-::\-Get\-I\-Analysis\-Factory (
\begin{DoxyParamCaption}
\item[{const {\bf Processor} $\ast$}]{proc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classmarlin_1_1AIDAProcessor_a2d133de18119dddf3957a370e1b5c408}


Returns an A\-I\-D\-A analysis factory for the given processor with the current directory set to the processor's name. 

Call right before using the factory. \index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!histogram\-Factory@{histogram\-Factory}}
\index{histogram\-Factory@{histogram\-Factory}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{histogram\-Factory}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Histogram\-Factory $\ast$ marlin\-::\-A\-I\-D\-A\-Processor\-::histogram\-Factory (
\begin{DoxyParamCaption}
\item[{const {\bf Processor} $\ast$}]{proc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classmarlin_1_1AIDAProcessor_a39104e703e1546852a85b7bce2b8fedc}


Returns an A\-I\-D\-A histogram factory for the given processor with the current directory set to the processor's name. 

Call right before using the factory to create histograms. 

Referenced by marlin\-::\-Simple\-Fast\-M\-C\-Processor\-::check().

\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!init@{init}}
\index{init@{init}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void marlin\-::\-A\-I\-D\-A\-Processor\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlin_1_1AIDAProcessor_a353d038e70349307dd78b8cd6a6e2a35}


Called at the begin of the job before anything is read. 

Use to initialize the processor, e.\-g. book histograms. 

Reimplemented from {\bf marlin\-::\-Processor} \doxyref{}{p.}{classmarlin_1_1Processor_a8194fb92a428de40ea9d891c8c8aed6b}.

\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!tree@{tree}}
\index{tree@{tree}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{tree}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Tree $\ast$ marlin\-::\-A\-I\-D\-A\-Processor\-::tree (
\begin{DoxyParamCaption}
\item[{const {\bf Processor} $\ast$}]{proc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classmarlin_1_1AIDAProcessor_a2f3862e3d03679690f1b5ca9561ae1fc}


Returns an A\-I\-D\-A treefor the given processor with the current directory set to the processor's name. 

can be used to create subdirectories for a processor. 

References marlin\-::\-Processor\-::name().



Referenced by marlin\-::\-Simple\-Fast\-M\-C\-Processor\-::end().

\index{marlin\-::\-A\-I\-D\-A\-Processor@{marlin\-::\-A\-I\-D\-A\-Processor}!tuple\-Factory@{tuple\-Factory}}
\index{tuple\-Factory@{tuple\-Factory}!marlin::AIDAProcessor@{marlin\-::\-A\-I\-D\-A\-Processor}}
\subsubsection[{tuple\-Factory}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Tuple\-Factory $\ast$ marlin\-::\-A\-I\-D\-A\-Processor\-::tuple\-Factory (
\begin{DoxyParamCaption}
\item[{const {\bf Processor} $\ast$}]{proc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classmarlin_1_1AIDAProcessor_a5b84cb2d0c47b8d95be5117e83a4f6e5}


Returns an A\-I\-D\-A tuple factory for the given processor with the current directory set to the processor's name. 

Call right before using the factory to create tuples. 

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