<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{Marlin\-Trk\-:\-:Factory Class Reference}
\label{classMarlinTrk_1_1Factory}\index{Marlin\-Trk\-::\-Factory@{Marlin\-Trk\-::\-Factory}}


\doxyref{Factory}{p.}{classMarlinTrk_1_1Factory} methods for creating the Marlin\-Trk\-System of a certain type\-: Kal\-Test, D\-D\-Kal\-Test, aida\-T\-T,...\par
 Currently implemented\-: Kal\-Test, D\-D\-Kal\-Test.  




{\ttfamily \#include $&lt;$Factory.\-h$&gt;$}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static {\bf I\-Marlin\-Trk\-System} $\ast$ {\bf create\-Marlin\-Trk\-System} (const std\-::string \&amp;system\-Type, const gear\-::\-Gear\-Mgr $\ast$gear\-Mgr, const std\-::string \&amp;options)
\begin{DoxyCompactList}\small\item\em Create the Marlin\-Trk\-System instance of the specified type\-:\par
 Kal\-Test, D\-D\-Kal\-Test, aida\-T\-T,...\par
 Returns 0 if type not implemented... \end{DoxyCompactList}\item 
static {\bf I\-Marlin\-Trk\-System} $\ast$ {\bf get\-Marlin\-Trk\-System} (const std\-::string \&amp;system\-Type)
\begin{DoxyCompactList}\small\item\em Return the Marlin\-Trk\-System of the given type -\/ only valid after a preceeding call to \doxyref{create\-Marlin\-Trk\-System()}{p.}{classMarlinTrk_1_1Factory_ade95a712fa28ba5ad332bde400819780} for that type, otherwise an exception is thrown. \end{DoxyCompactList}\item 
static {\bf I\-Marlin\-Trk\-System} $\ast$ {\bf get\-Current\-Marlin\-Trk\-System} ()
\begin{DoxyCompactList}\small\item\em Return the current Marlin\-Trk\-System, i.\-e. \end{DoxyCompactList}\item 
static {\bf Factory} $\ast$ {\bfseries instance} ()\label{classMarlinTrk_1_1Factory_afd99f6fababa2d518c4a21da2292bfae}

\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
typedef std\-::map$&lt;$ std\-::string, \\*
{\bf I\-Marlin\-Trk\-System} $\ast$ $&gt;$ {\bfseries Trk\-System\-Map}\label{classMarlinTrk_1_1Factory_ac43eb5482feabb4c7d34e6b6f6d3335e}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
{\bf I\-Marlin\-Trk\-System} $\ast$ {\bfseries \-\_\-current\-Trk\-System}\label{classMarlinTrk_1_1Factory_a39d6c5f8f903ebdaaacb42de3d092843}

\item 
Trk\-System\-Map {\bfseries \-\_\-map}\label{classMarlinTrk_1_1Factory_a6d020ea9e602483f9c4cc72c49a77bc4}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\doxyref{Factory}{p.}{classMarlinTrk_1_1Factory} methods for creating the Marlin\-Trk\-System of a certain type\-: Kal\-Test, D\-D\-Kal\-Test, aida\-T\-T,...\par
 Currently implemented\-: Kal\-Test, D\-D\-Kal\-Test. 

The returned instance for a given type is cached, thus\-: \par


D\-O N\-O\-T D\-E\-L\-E\-T\-E T\-H\-E P\-O\-I\-N\-T\-E\-R at the end of your software module (Marlin processor) !

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

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{Factory.\-h}{p.}{Factory_8h_source} 4794 2015-\/05-\/12 10\-:46\-:17\-Z gaede 
\end{DoxyParagraph}


\subsection{Member Function Documentation}
\index{Marlin\-Trk\-::\-Factory@{Marlin\-Trk\-::\-Factory}!create\-Marlin\-Trk\-System@{create\-Marlin\-Trk\-System}}
\index{create\-Marlin\-Trk\-System@{create\-Marlin\-Trk\-System}!MarlinTrk::Factory@{Marlin\-Trk\-::\-Factory}}
\subsubsection[{create\-Marlin\-Trk\-System}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Marlin\-Trk\-System} $\ast$ Marlin\-Trk\-::\-Factory\-::create\-Marlin\-Trk\-System (
\begin{DoxyParamCaption}
\item[{const std\-::string \&amp;}]{system\-Type, }
\item[{const gear\-::\-Gear\-Mgr $\ast$}]{gear\-Mgr, }
\item[{const std\-::string \&amp;}]{options}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classMarlinTrk_1_1Factory_ade95a712fa28ba5ad332bde400819780}


Create the Marlin\-Trk\-System instance of the specified type\-:\par
 Kal\-Test, D\-D\-Kal\-Test, aida\-T\-T,...\par
 Returns 0 if type not implemented... 

D\-O N\-O\-T D\-E\-L\-E\-T\-E T\-H\-E P\-O\-I\-N\-T\-E\-R at the end of your software module (Marlin processor) !

For now only Kal\-Test or D\-D\-Kal\-Test. \index{Marlin\-Trk\-::\-Factory@{Marlin\-Trk\-::\-Factory}!get\-Current\-Marlin\-Trk\-System@{get\-Current\-Marlin\-Trk\-System}}
\index{get\-Current\-Marlin\-Trk\-System@{get\-Current\-Marlin\-Trk\-System}!MarlinTrk::Factory@{Marlin\-Trk\-::\-Factory}}
\subsubsection[{get\-Current\-Marlin\-Trk\-System}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Marlin\-Trk\-System} $\ast$ Marlin\-Trk\-::\-Factory\-::get\-Current\-Marlin\-Trk\-System (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classMarlinTrk_1_1Factory_a291c4cede23e784c92f0e95d2a7ccc1e}


Return the current Marlin\-Trk\-System, i.\-e. 

the one returned in the last call to \doxyref{create\-Marlin\-Trk\-System()}{p.}{classMarlinTrk_1_1Factory_ade95a712fa28ba5ad332bde400819780} or \doxyref{get\-Marlin\-Trk\-System()}{p.}{classMarlinTrk_1_1Factory_aa19df810f0e9b4215cc7df29b0ce8703} preceeding this call. To be used in cases where the concrete type of the tracking system does not matter -\/ or when it is savely initialized in the enclosing software module (e.\-e. the Marlin processor).

D\-O N\-O\-T D\-E\-L\-E\-T\-E T\-H\-E P\-O\-I\-N\-T\-E\-R at the end of your software module (Marlin processor) ! 

Referenced by Marlin\-Trk\-::finalise\-L\-C\-I\-O\-Track().

\index{Marlin\-Trk\-::\-Factory@{Marlin\-Trk\-::\-Factory}!get\-Marlin\-Trk\-System@{get\-Marlin\-Trk\-System}}
\index{get\-Marlin\-Trk\-System@{get\-Marlin\-Trk\-System}!MarlinTrk::Factory@{Marlin\-Trk\-::\-Factory}}
\subsubsection[{get\-Marlin\-Trk\-System}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Marlin\-Trk\-System} $\ast$ Marlin\-Trk\-::\-Factory\-::get\-Marlin\-Trk\-System (
\begin{DoxyParamCaption}
\item[{const std\-::string \&amp;}]{system\-Type}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classMarlinTrk_1_1Factory_aa19df810f0e9b4215cc7df29b0ce8703}


Return the Marlin\-Trk\-System of the given type -\/ only valid after a preceeding call to \doxyref{create\-Marlin\-Trk\-System()}{p.}{classMarlinTrk_1_1Factory_ade95a712fa28ba5ad332bde400819780} for that type, otherwise an exception is thrown. 

This is useful for several modules (e.\-g. Marlin processors) using the same \doxyref{I\-Marlin\-Trk\-System}{p.}{classMarlinTrk_1_1IMarlinTrkSystem}. It is the users responsibility to make sure one module has created it.

D\-O N\-O\-T D\-E\-L\-E\-T\-E T\-H\-E P\-O\-I\-N\-T\-E\-R at the end of your software module (Marlin processor) ! 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Factory.\-h\item 
Factory.\-cc\end{DoxyCompactItemize}
</pre></body></html>