\section{marlintpc\-:\-:Track\-Fitter\-Kalman Class Reference}
\label{classmarlintpc_1_1TrackFitterKalman}\index{marlintpc\-::\-Track\-Fitter\-Kalman@{marlintpc\-::\-Track\-Fitter\-Kalman}}


Kalman filter track fitter.  




{\ttfamily \#include $<$Track\-Fitter\-Kalman.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Track\-Fitter\-Kalman\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1TrackFitterKalman}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual std\-::string {\bf get\-Revision} () const 
\begin{DoxyCompactList}\small\item\em Get the revision of the actual fitter implementation. \end{DoxyCompactList}\item 
virtual unsigned char {\bf get\-Fitter\-Type} () const \label{classmarlintpc_1_1TrackFitterKalman_a2f53dac71f461ea30283faa13dca2bd1}

\begin{DoxyCompactList}\small\item\em Information what fitter implementation this is. \end{DoxyCompactList}\item 
virtual I\-M\-P\-L\-::\-Track\-Impl $\ast$ {\bf fit\-Track} (E\-V\-E\-N\-T\-::\-Track const $\ast$seed\-Track) const 
\begin{DoxyCompactList}\small\item\em Perform the actual fitting. \end{DoxyCompactList}\item 
void {\bf to\-L\-C\-I\-O\-Track} (T\-Kal\-Track \&kaltrack, I\-M\-P\-L\-::\-Track\-Impl $\ast$trk) const 
\begin{DoxyCompactList}\small\item\em Fill the track state (incl. \end{DoxyCompactList}\item 
void {\bfseries Set\-Tuple\-Ptr} (A\-I\-D\-A\-::\-I\-Tuple $\ast$ptr\-Tuple=0)\label{classmarlintpc_1_1TrackFitterKalman_a86ad76d99de0669d3d2ab7ca1f17d96c}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static {\bf Track\-Fitter\-Base} $\ast$ {\bf get\-Instance} (L\-C\-Parameters const $\ast$parameters=0)\label{classmarlintpc_1_1TrackFitterKalman_ab17aa6070ea10a1226cabf8a2742d209}

\begin{DoxyCompactList}\small\item\em Well defined interface to create a new instance of the track fitter. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
A\-I\-D\-A\-::\-I\-Tuple $\ast$ {\bfseries \-\_\-kalmantuple}\label{classmarlintpc_1_1TrackFitterKalman_abfb7bd5a013b11d3ad998c989a213fbb}

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


\subsection{Detailed Description}
Kalman filter track fitter. 

(to be filled) 

\subsection{Member Function Documentation}
\index{marlintpc\-::\-Track\-Fitter\-Kalman@{marlintpc\-::\-Track\-Fitter\-Kalman}!fit\-Track@{fit\-Track}}
\index{fit\-Track@{fit\-Track}!marlintpc::TrackFitterKalman@{marlintpc\-::\-Track\-Fitter\-Kalman}}
\subsubsection[{fit\-Track}]{\setlength{\rightskip}{0pt plus 5cm}virtual I\-M\-P\-L\-::\-Track\-Impl$\ast$ marlintpc\-::\-Track\-Fitter\-Kalman\-::fit\-Track (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-Track const $\ast$}]{seed\-Track}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1TrackFitterKalman_ac36b0b9097ca9395d98fe98d8c99561c}


Perform the actual fitting. 

Uses \doxyref{Track\-Fitter\-Simple\-Chi\-Square\-::fit\-Track}{p.}{classmarlintpc_1_1TrackFitterSimpleChiSquare_a2233e24d5667f734015ea5cb092f1624}, using the residuals from this class, and then setting the correct fitter type. 

Implements {\bf marlintpc\-::\-Track\-Fitter\-Base} \doxyref{}{p.}{classmarlintpc_1_1TrackFitterBase_a47515d70f182dd11f6288b350dde851a}.

\index{marlintpc\-::\-Track\-Fitter\-Kalman@{marlintpc\-::\-Track\-Fitter\-Kalman}!get\-Revision@{get\-Revision}}
\index{get\-Revision@{get\-Revision}!marlintpc::TrackFitterKalman@{marlintpc\-::\-Track\-Fitter\-Kalman}}
\subsubsection[{get\-Revision}]{\setlength{\rightskip}{0pt plus 5cm}virtual std\-::string marlintpc\-::\-Track\-Fitter\-Kalman\-::get\-Revision (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1TrackFitterKalman_a862b4df4c554bad2c745d71558462c7b}


Get the revision of the actual fitter implementation. 

This is needed for revision logging. Implementation should look like\-: \begin{DoxyVerb}return std::string( "$Rev$" ); \end{DoxyVerb}
 In case you don't reimplement the calculate\-Residulas methods you should also state the revision of this base class\-: \begin{DoxyVerb}return std::string( "$Rev$ ; TrackFitterBase ") + TrackFitterBase::getRevision(); \end{DoxyVerb}
 Don't forget to switch on the 'svn Rev' property for this file\-: \begin{DoxyVerb}svn propset svn:keywords Rev TrackFitterImpl.cc \end{DoxyVerb}
 

Reimplemented from {\bf marlintpc\-::\-Track\-Fitter\-Base} \doxyref{}{p.}{classmarlintpc_1_1TrackFitterBase_a5ddfbd7083e0ab51fb8f163b786c6854}.

\index{marlintpc\-::\-Track\-Fitter\-Kalman@{marlintpc\-::\-Track\-Fitter\-Kalman}!to\-L\-C\-I\-O\-Track@{to\-L\-C\-I\-O\-Track}}
\index{to\-L\-C\-I\-O\-Track@{to\-L\-C\-I\-O\-Track}!marlintpc::TrackFitterKalman@{marlintpc\-::\-Track\-Fitter\-Kalman}}
\subsubsection[{to\-L\-C\-I\-O\-Track}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Track\-Fitter\-Kalman\-::to\-L\-C\-I\-O\-Track (
\begin{DoxyParamCaption}
\item[{T\-Kal\-Track \&}]{kaltrack, }
\item[{I\-M\-P\-L\-::\-Track\-Impl $\ast$}]{trk}
\end{DoxyParamCaption}
) const}\label{classmarlintpc_1_1TrackFitterKalman_aca0307772c3bf1c08e3029dc72a40cc8}


Fill the track state (incl. 

cov matrix) at the beginning (4th hit) of the track into the given L\-C\-I\-O track. Smoothes back to the 4th hit and returns that state. 

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Track\-Fitter\-Kalman.\-h\item 
Track\-Fitter\-Kalman.\-cc\end{DoxyCompactItemize}
