\section{marlin Namespace Reference}
\label{namespacemarlin}\index{marlin@{marlin}}


The main namespace in Marlin.  


\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class {\bf A\-I\-D\-A\-Processor}
\begin{DoxyCompactList}\small\item\em Provides access to A\-I\-D\-A histograms, ntuples, etc. \end{DoxyCompactList}\item 
class {\bf C\-C\-Collection}
\begin{DoxyCompactList}\small\item\em handles information about L\-C\-I\-O collections needed by \doxyref{Marlin\-Steer\-Check}{p.}{classmarlin_1_1MarlinSteerCheck} \end{DoxyCompactList}\item 
class {\bf C\-C\-Processor}
\begin{DoxyCompactList}\small\item\em handles information about marlin processors and their collections needed by \doxyref{Marlin\-Steer\-Check}{p.}{classmarlin_1_1MarlinSteerCheck} \end{DoxyCompactList}\item 
class {\bf C\-M\-Processor}
\begin{DoxyCompactList}\small\item\em This singleton class contains an instance of every available marlin processor type. \end{DoxyCompactList}\item 
class {\bf Conditions\-Processor}
\begin{DoxyCompactList}\small\item\em \doxyref{Processor}{p.}{classmarlin_1_1Processor} that provides access to conditions data in a Marlin application. \end{DoxyCompactList}\item 
class {\bf Data\-Source\-Processor}
\begin{DoxyCompactList}\small\item\em 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. \end{DoxyCompactList}\item 
class {\bf Error\-Of\-Sigma}
\begin{DoxyCompactList}\small\item\em Small helper class that computes the lower and upper error of sigma assuming a normal distribution, i.\-e. \end{DoxyCompactList}\item 
class {\bf Event\-Modifier}
\begin{DoxyCompactList}\small\item\em Tagging interface for processors that modify the L\-C\-I\-O event. \end{DoxyCompactList}\item 
class {\bf Parse\-Exception}
\begin{DoxyCompactList}\small\item\em \doxyref{Parse\-Exception}{p.}{classmarlin_1_1ParseException} used for parse errors, e.\-g. \end{DoxyCompactList}\item 
class {\bf Skip\-Event\-Exception}
\begin{DoxyCompactList}\small\item\em \doxyref{Skip\-Event\-Exception}{p.}{classmarlin_1_1SkipEventException} used to skip the current event in \doxyref{Processor\-::process\-Event}{p.}{classmarlin_1_1Processor_a348ef28b0e6d486575610251e8831022}. \end{DoxyCompactList}\item 
class {\bf Stop\-Processing\-Exception}
\begin{DoxyCompactList}\small\item\em \doxyref{Stop\-Processing\-Exception}{p.}{classmarlin_1_1StopProcessingException} used to stop the current proccessing of events and call \doxyref{Processor\-::end()}{p.}{classmarlin_1_1Processor_a40c4bc6d5b67906954392c5bb1df28c1}. \end{DoxyCompactList}\item 
class {\bf Rewind\-Data\-Files\-Exception}
\begin{DoxyCompactList}\small\item\em \doxyref{Rewind\-Data\-Files\-Exception}{p.}{classmarlin_1_1RewindDataFilesException} used to stop the current proccessing of events, rewind to the first event and restart the processing. \end{DoxyCompactList}\item 
class {\bf Global}
\begin{DoxyCompactList}\small\item\em Simple global class for Marlin. \end{DoxyCompactList}\item 
class {\bf I\-Four\-Vector\-Smearer}
\begin{DoxyCompactList}\small\item\em Interface for smearing of four vectors -\/ based on C\-L\-H\-E\-P\-::\-Hep\-Lorentz\-Vector. \end{DoxyCompactList}\item 
class {\bf I\-Parser}
\begin{DoxyCompactList}\small\item\em Interface for a parser of a steering file to be used with marlin. \end{DoxyCompactList}\item 
class {\bf I\-Reco\-Particle\-Factory}
\begin{DoxyCompactList}\small\item\em Interface for a factory class that creates a Reconstructed\-Particle from an M\-C\-Particle. \end{DoxyCompactList}\item 
class {\bf L\-C\-I\-O\-Output\-Processor}
\begin{DoxyCompactList}\small\item\em Default output processor. \end{DoxyCompactList}\item 
struct {\bf Expression}
\begin{DoxyCompactList}\small\item\em Helper struct for Logical\-Expression. \end{DoxyCompactList}\item 
class {\bf Tokenizer}
\begin{DoxyCompactList}\small\item\em Helper class for \doxyref{Logical\-Expressions}{p.}{classmarlin_1_1LogicalExpressions} that splits the expression into subexpressions -\/ needs to be apllied iteratively. \end{DoxyCompactList}\item 
class {\bf Logical\-Expressions}
\begin{DoxyCompactList}\small\item\em Helper class that holds named boolean values and named conditions that are expressions of these values and computes the corresponding truth values. \end{DoxyCompactList}\item 
class {\bf Marlin\-Steer\-Check}
\begin{DoxyCompactList}\small\item\em this class is a Marlin Steering File consistency check Tool. \end{DoxyCompactList}\item 
class {\bf Parser}
\begin{DoxyCompactList}\small\item\em Simple parser class for Marlin. \end{DoxyCompactList}\item 
class {\bf L\-C\-Tokenizer}
\begin{DoxyCompactList}\small\item\em Helper class for \doxyref{Parser}{p.}{classmarlin_1_1Parser}. \end{DoxyCompactList}\item 
class {\bf Processor}
\begin{DoxyCompactList}\small\item\em Base class for Marlin processors. \end{DoxyCompactList}\item 
class {\bf Processor\-Event\-Seeder}
\begin{DoxyCompactList}\small\item\em \doxyref{Processor}{p.}{classmarlin_1_1Processor} event seeder -\/ provides independent pseudo-\/randomly generated seeds for registered processors on an event by event basis. \end{DoxyCompactList}\item 
class {\bf Processor\-Loader}
\begin{DoxyCompactList}\small\item\em \doxyref{Processor}{p.}{classmarlin_1_1Processor} loader -\/ loads shared libraries with marlin processors. \end{DoxyCompactList}\item 
class {\bf Processor\-Mgr}
\begin{DoxyCompactList}\small\item\em \doxyref{Processor}{p.}{classmarlin_1_1Processor} manager singleton class. \end{DoxyCompactList}\item 
class {\bf Processor\-Parameter}
\begin{DoxyCompactList}\small\item\em Class that holds a steering variable for a marlin processor -\/ automatically created by \doxyref{Processor\-::register\-Processor\-Parameter()}{p.}{classmarlin_1_1Processor_a0108fd7a5ab53996b0a8079dbbfd29d2} \end{DoxyCompactList}\item 
class {\bf Processor\-Parameter\-\_\-t}
\begin{DoxyCompactList}\small\item\em Templated implementation of \doxyref{Processor\-Parameter}{p.}{classmarlin_1_1ProcessorParameter} -\/ automatically created by \doxyref{Processor\-::register\-Processor\-Parameter()}{p.}{classmarlin_1_1Processor_a0108fd7a5ab53996b0a8079dbbfd29d2} \end{DoxyCompactList}\item 
struct {\bf Cluster\-Resolution}
\begin{DoxyCompactList}\small\item\em Small helper class to store calorimeter resolutions for a polar angle range. \end{DoxyCompactList}\item 
class {\bf Simple\-Cluster\-Smearer}
\begin{DoxyCompactList}\small\item\em Smears the four vectors of (neutral) clusters according to d\-E/\-E = A \char`\"{}+\char`\"{} B / sqrt( E/\-Ge\-V ) for a given range of the polar angle. \end{DoxyCompactList}\item 
class {\bf Simple\-Fast\-M\-C\-Processor}
\begin{DoxyCompactList}\small\item\em A simple smearing \char`\"{}\-Monte Carlo\char`\"{} processor. \end{DoxyCompactList}\item 
class {\bf Simple\-Particle\-Factory}
\begin{DoxyCompactList}\small\item\em Implementation of \doxyref{I\-Reco\-Particle\-Factory}{p.}{classmarlin_1_1IRecoParticleFactory} that implements the default behaviour as described in \doxyref{Simple\-Fast\-M\-C\-Processor}{p.}{classmarlin_1_1SimpleFastMCProcessor}, i.\-e. \end{DoxyCompactList}\item 
struct {\bf Track\-Resolution}
\begin{DoxyCompactList}\small\item\em Small helper class to store tracker resolutions for a polar angle range. \end{DoxyCompactList}\item 
class {\bf Simple\-Track\-Smearer}
\begin{DoxyCompactList}\small\item\em Smears the four vectors of charged tracks according to d\-P/\-P = r for a given range of the polar angle. \end{DoxyCompactList}\item 
class {\bf Std\-Hep\-Reader}
\begin{DoxyCompactList}\small\item\em Reads binary Std\-Hep files. \end{DoxyCompactList}\item 
class {\bf String\-Parameters}
\begin{DoxyCompactList}\small\item\em Simple parameters class for Marlin. \end{DoxyCompactList}\item 
class {\bf Test\-Processor}
\begin{DoxyCompactList}\small\item\em Simple processor for testing. \end{DoxyCompactList}\item 
class {\bf X\-M\-L\-Fix\-Coll\-Types}
\begin{DoxyCompactList}\small\item\em Internal helper class that creates a new xml steering file with the parameter attributes lcio\-In\-Type and lcio\-Out\-Type for the processors as defined by the \doxyref{Processor}{p.}{classmarlin_1_1Processor} subclasses. \end{DoxyCompactList}\item 
class {\bf X\-M\-L\-Parser}
\begin{DoxyCompactList}\small\item\em X\-M\-L parser for Marlin steering files. \end{DoxyCompactList}\item 
struct {\bf Cmp}
\item 
struct {\bf Proc\-Mgr\-Stop\-Processing}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\-::set$<$ std\-::string $>$ {\bfseries s\-Set}\label{namespacemarlin_aa8be42cc3ce217b02bcd3d1c31ce599e}

\item 
typedef std\-::vector\\*
$<$ {\bf C\-C\-Collection} $\ast$ $>$ {\bfseries Col\-Vec}\label{namespacemarlin_aaa882dcd8b6e69dc3ff2c595bcd7a52b}

\item 
typedef std\-::map$<$ std\-::string, \\*
std\-::string $>$ {\bfseries ss\-Map}\label{namespacemarlin_acaa846f1bd16b045fa68cbb9238e7917}

\item 
typedef std\-::map$<$ std\-::string, \\*
ss\-Map $>$ {\bfseries sss\-Map}\label{namespacemarlin_a8c12695ebe15d4fb93f25fd502733d60}

\item 
typedef std\-::map$<$ std\-::string, \\*
Col\-Vec $>$ {\bfseries s\-Col\-Vec\-Map}\label{namespacemarlin_a1cd3c1f588691fb9ee23c14d4e4bcbf6}

\item 
typedef std\-::map$<$ std\-::string, \\*
s\-Col\-Vec\-Map $>$ {\bfseries ss\-Col\-Vec\-Map}\label{namespacemarlin_a7e0bbac96e3930d267409f22ea549f06}

\item 
typedef std\-::map$<$ std\-::string, \\*
bool $>$ {\bfseries sb\-Map}\label{namespacemarlin_ad2e485637437d217e0f2320166948d56}

\item 
typedef std\-::map$<$ std\-::string, \\*
{\bf String\-Parameters} $\ast$ $>$ {\bfseries s\-S\-P\-Map}\label{namespacemarlin_ae4d62f4f2b250d1845f5e63066227b65}

\item 
typedef std\-::map$<$ std\-::string, \\*
std\-::map$<$ std\-::string, \\*
std\-::string $>$ $>$ {\bfseries Command\-Line\-Parameters\-Map}\label{namespacemarlin_a2ba94b5ba58208760b99bc889a08c85c}

\item 
typedef std\-::vector\\*
$<$ {\bf C\-C\-Processor} $\ast$ $>$ {\bfseries Proc\-Vec}\label{namespacemarlin_a300aa900b31325aae5f26b035ea42b56}

\item 
typedef std\-::map$<$ std\-::string, \\*
{\bf String\-Parameters} $\ast$ $>$ {\bfseries String\-Parameters\-Map}\label{namespacemarlin_aa6ccfea24a86ce860274dd2282c14e8e}

\item 
typedef std\-::map$<$ std\-::string, \\*
{\bf Processor\-Parameter} $\ast$ $>$ {\bfseries Proc\-Param\-Map}\label{namespacemarlin_acf9b8975b1f8312131068dd489af4229}

\item 
typedef std\-::map$<$ std\-::string, \\*
std\-::string $>$ {\bfseries L\-C\-I\-O\-Type\-Map}\label{namespacemarlin_ac5d180e55f7efa937c296e6a1822ea85}

\item 
typedef std\-::map$<$ const \\*
std\-::string, {\bf Processor} $\ast$ $>$ {\bfseries Processor\-Map}\label{namespacemarlin_a9e1407d2a2f572b4b03cac9f7f595c33}

\item 
typedef std\-::list$<$ {\bf Processor} $\ast$ $>$ {\bfseries Processor\-List}\label{namespacemarlin_a600ec6c6425d35fa54fc702114acd01c}

\item 
typedef std\-::map$<$ const \\*
std\-::string, int $>$ {\bfseries Skipped\-Event\-Map}\label{namespacemarlin_aff467203f29c54e107d41a3759a5825d}

\item 
typedef std\-::map$<$ {\bf Processor} \\*
$\ast$, std\-::pair$<$ double, int $>$ $>$ {\bfseries Time\-Map}\label{namespacemarlin_af0773fd99227b98980ae71ee648a958e}

\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum {\bf Fast\-M\-C\-Particle\-Type} \{ \\*
{\bfseries U\-N\-K\-N\-O\-W\-N} = 0, 
{\bfseries C\-H\-A\-R\-G\-E\-D} = 1, 
{\bfseries P\-H\-O\-T\-O\-N} = 2, 
{\bfseries N\-E\-U\-T\-R\-A\-L\-\_\-\-H\-A\-D\-R\-O\-N} = 3, 
\\*
{\bfseries N\-E\-U\-T\-R\-I\-N\-O} = 4
 \}
\begin{DoxyCompactList}\small\item\em Enumeration that defines integer constants for various particle types used in the fast Monte Carlo. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
std\-::ostream \& {\bfseries operator$<$$<$} (std\-::ostream \&s, {\bf Expression} \&e)\label{namespacemarlin_a55656ec0d6c8fc35b489cb50a6055ee1}

\item 
std\-::ostream \& {\bfseries operator$<$$<$} (std\-::ostream \&s, {\bf Processor\-Parameter} \&p)\label{namespacemarlin_a24507d3837644c498c5ed199de522e2c}

\item 
void {\bf to\-Stream} (std\-::ostream \&s, int i, int N)\label{namespacemarlin_acc63bb6e57f5070ebb2f6c8ed54c839f}

\begin{DoxyCompactList}\small\item\em Helper function for printing parameter vectors. \end{DoxyCompactList}\item 
void {\bfseries to\-Stream} (std\-::ostream \&s, float f, int N)\label{namespacemarlin_a765c177b66f7d789c6ce2e8512065605}

\item 
void {\bfseries to\-Stream} (std\-::ostream \&s, double d, int N)\label{namespacemarlin_ab373c3f3d9a8c6217f5bdd1780ee5aaa}

\item 
void {\bfseries to\-Stream} (std\-::ostream \&s, const std\-::string \&str, int N)\label{namespacemarlin_ab9c3d96c5c8040913d7c0b0a05c2ceda}

\item 
void {\bfseries to\-Stream} (std\-::ostream \&s, bool b, int N)\label{namespacemarlin_a1881d355ae1e878298effc897681c106}

\item 
{\footnotesize template$<$class T $>$ }\\std\-::ostream \& {\bfseries to\-Stream} (std\-::ostream \&s, const std\-::vector$<$ T $>$ \&v, int N)\label{namespacemarlin_ad4703374787d541c9e0060af86b32cdc}

\item 
{\footnotesize template$<$class T1 $>$ }\\void {\bfseries set\-Processor\-Parameter} ({\bf Processor\-Parameter\-\_\-t}$<$ T1 $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_ae36807791c80cccab30eb9255404c69e}

\item 
int {\bfseries int\-Val} (const std\-::string \&str)\label{namespacemarlin_a25a5d2774b4c3cedf38f5bda461807ed}

\item 
float {\bfseries float\-Val} (const std\-::string \&str)\label{namespacemarlin_a10e994380f55d6029c0678db20703b08}

\item 
std\-::ostream \& {\bfseries operator$<$$<$} (std\-::ostream \&s, {\bf String\-Parameters} \&p)\label{namespacemarlin_a8ca5564f3986b556462f25d4a7fbbd84}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ int $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ int $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_ada2f9b91f1faea50c28e59d0c16a2d52}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ float $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ float $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_abada57cba44b772d949a2ba92f4301b3}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ double $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ double $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_a0abfeae742f34cc07ca7e12ada27b89e}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ std\-::string $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ std\-::string $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_a9da67ef1b4c97d779a958a6ae400fee8}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ Int\-Vec $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ Int\-Vec $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_ae5db5ddb73139f1398f45e9f434a4b07}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ Float\-Vec $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ Float\-Vec $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_a1e5f98d2dfa33afe6c1ff11062b62ed8}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ String\-Vec $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ String\-Vec $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_ae5556c50b215432a6a5edea60612ffd9}

\item 
{\footnotesize template$<$$>$ }\\void {\bfseries set\-Processor\-Parameter$<$ bool $>$} ({\bf Processor\-Parameter\-\_\-t}$<$ bool $>$ $\ast$proc\-Param, {\bf String\-Parameters} $\ast$params)\label{namespacemarlin_aadcb6de862b2c8ab888ae10fab03942d}

\item 
{\footnotesize template$<$class T $>$ }\\bool {\bfseries convert} (std\-::string input, T \&value)\label{namespacemarlin_a7e8258337a3ae534b331f5fb1532d77b}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
{\bf A\-I\-D\-A\-Processor} {\bfseries a\-A\-I\-D\-A\-Processor}\label{namespacemarlin_a87fbd6894ce54502bb1a86c29b3e270c}

\item 
{\bf Conditions\-Processor} {\bfseries a\-Conditions\-Processor}\label{namespacemarlin_aa8be93034269ed3daf33176d216e3f4a}

\item 
{\bf L\-C\-I\-O\-Output\-Processor} {\bfseries an\-L\-C\-I\-O\-Output\-Processor}\label{namespacemarlin_a16f7e5a707506e6c2906094385e88f77}

\item 
static clock\-\_\-t {\bfseries start\-\_\-t}\label{namespacemarlin_a8562b39bbabb2b81b8bb4dddaa5c9ab0}

\item 
static clock\-\_\-t {\bfseries end\-\_\-t}\label{namespacemarlin_ac9dec133804d902679a43f21fb628d26}

\item 
static Time\-Map {\bfseries t\-Map}\label{namespacemarlin_a3d0fe486283b6ca229dcf5d5ebd16441}

\item 
streamlog\-::logstream {\bfseries my\-\_\-cout}\label{namespacemarlin_a4e0626f03c05d984eca552b22b95b78a}

\item 
{\bf Simple\-Fast\-M\-C\-Processor} {\bfseries a\-Simple\-Fast\-M\-C\-Processor}\label{namespacemarlin_a30634a97c107b64c9f2b72aef1be18b8}

\item 
{\bf Std\-Hep\-Reader} {\bfseries a\-Std\-Hep\-Reader}\label{namespacemarlin_afe6b9a2e2b61a8367b9ece458e0da709}

\item 
{\bf Test\-Processor} {\bfseries a\-Test\-Processor}\label{namespacemarlin_aad8755a768289bd9ed3737a7bc4a75c8}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The main namespace in Marlin. 

\subsection{Enumeration Type Documentation}
\index{marlin@{marlin}!Fast\-M\-C\-Particle\-Type@{Fast\-M\-C\-Particle\-Type}}
\index{Fast\-M\-C\-Particle\-Type@{Fast\-M\-C\-Particle\-Type}!marlin@{marlin}}
\subsubsection[{Fast\-M\-C\-Particle\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf marlin\-::\-Fast\-M\-C\-Particle\-Type}}\label{namespacemarlin_a655473dc624953c470e4565b6be98d16}


Enumeration that defines integer constants for various particle types used in the fast Monte Carlo. 

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

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Fast\-M\-C\-Particle\-Type.\-h}{p.}{FastMCParticleType_8h_source},v 1.\-2 2005-\/10-\/11 12\-:56\-:28 gaede Exp 
\end{DoxyParagraph}
