\section{Marlin\-Trk\-:\-:I\-Marlin\-Track Class Reference}
\label{classMarlinTrk_1_1IMarlinTrack}\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}}


Interface for generic tracks in \doxyref{Marlin\-Trk}{p.}{namespaceMarlinTrk}.  




{\ttfamily \#include $<$I\-Marlin\-Track.\-h$>$}

Inheritance diagram for Marlin\-Trk\-:\-:I\-Marlin\-Track\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.803543cm]{classMarlinTrk_1_1IMarlinTrack}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual {\bf $\sim$\-I\-Marlin\-Track} ()\label{classMarlinTrk_1_1IMarlinTrack_a2035a3292769c96b1588ad3f7de78284}

\begin{DoxyCompactList}\small\item\em default d'tor \end{DoxyCompactList}\item 
virtual void {\bf set\-Mass} (double mass)=0\label{classMarlinTrk_1_1IMarlinTrack_a011a8c71619e5850ebfb7dc637629943}

\begin{DoxyCompactList}\small\item\em set the mass of the charged particle (Ge\-V) that is used for energy loss and multiple scattering -\/ default value if this method is not called is the pion mass. \end{DoxyCompactList}\item 
virtual double {\bf get\-Mass} ()=0\label{classMarlinTrk_1_1IMarlinTrack_adc62bdd2b3dcf1ab3e694c354067303d}

\begin{DoxyCompactList}\small\item\em return the of the charged particle (Ge\-V) that is used for energy loss and multiple scattering. \end{DoxyCompactList}\item 
virtual int {\bf add\-Hit} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit)=0
\begin{DoxyCompactList}\small\item\em add hit to track -\/ the hits have to be added ordered in time ( i.\-e. \end{DoxyCompactList}\item 
virtual int {\bf initialise} (bool fit\-Direction)=0
\begin{DoxyCompactList}\small\item\em initialise the fit using the hits added up to this point -\/ the fit direction has to be specified using \doxyref{I\-Marlin\-Track\-::backward}{p.}{classMarlinTrk_1_1IMarlinTrack_a66855883fb9936fda39505c435590bf3} or \doxyref{I\-Marlin\-Track\-::forward}{p.}{classMarlinTrk_1_1IMarlinTrack_a1564b1b1a049b14cfa93320ab3ba7deb}. \end{DoxyCompactList}\item 
virtual int {\bf initialise} (const E\-V\-E\-N\-T\-::\-Track\-State \&ts, double bfield\-\_\-z, bool fit\-Direction)=0
\begin{DoxyCompactList}\small\item\em initialise the fit with a track state, and z component of the B field in Tesla. \end{DoxyCompactList}\item 
virtual int {\bf fit} (double max\-Chi2\-Increment=D\-B\-L\-\_\-\-M\-A\-X)=0
\begin{DoxyCompactList}\small\item\em perform the fit of all current hits, returns error code ( I\-Marlin\-Track\-::success if no error ) . \end{DoxyCompactList}\item 
virtual int {\bf add\-And\-Fit} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, double \&chi2increment, double max\-Chi2\-Increment=D\-B\-L\-\_\-\-M\-A\-X)=0
\begin{DoxyCompactList}\small\item\em update the current fit using the supplied hit, return code via int. \end{DoxyCompactList}\item 
virtual int {\bf test\-Chi2\-Increment} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, double \&chi2increment)=0
\begin{DoxyCompactList}\small\item\em obtain the chi2 increment which would result in adding the hit to the fit. \end{DoxyCompactList}\item 
virtual int {\bf smooth} ()=0\label{classMarlinTrk_1_1IMarlinTrack_a6caa31f46d676fea694d6e9a0856472e}

\begin{DoxyCompactList}\small\item\em smooth all track states \end{DoxyCompactList}\item 
virtual int {\bf smooth} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit)=0\label{classMarlinTrk_1_1IMarlinTrack_a68b286722b961ee08d18dc93ed4231af}

\begin{DoxyCompactList}\small\item\em smooth track states from the last filtered hit back to the measurement site associated with the given hit \end{DoxyCompactList}\item 
virtual int {\bf get\-Track\-State} (I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_ae10a7d70b966bfb75b7b1317265d318e}

\begin{DoxyCompactList}\small\item\em get track state, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf get\-Track\-State} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_a8afaaba73aba66f6a50e2e692fc9ea38}

\begin{DoxyCompactList}\small\item\em get track state at measurement associated with the given hit, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf get\-Hits\-In\-Fit} (std\-::vector$<$ std\-::pair$<$ E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$, double $>$ $>$ \&hits)=0
\begin{DoxyCompactList}\small\item\em get the list of hits included in the fit, together with the chi2 contributions of the hits. \end{DoxyCompactList}\item 
virtual int {\bf get\-Outliers} (std\-::vector$<$ std\-::pair$<$ E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$, double $>$ $>$ \&hits)=0\label{classMarlinTrk_1_1IMarlinTrack_ab480583c300ed9c9c3ef0ed526effb6b}

\begin{DoxyCompactList}\small\item\em get the list of hits which have been rejected by from the fit due to the a chi2 increment greater than threshold, Pointers to the hits together with their chi2 contribution will be filled into a vector of pairs consitining of the pointer as the first part of the pair and the chi2 contribution as the second. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-D\-F} (int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_ab45884924e3b1779a86783514855d0b8}

\begin{DoxyCompactList}\small\item\em get the current number of degrees of freedom for the fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Tracker\-Hit\-At\-Positive\-N\-D\-F} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$\&trkhit)=0
\begin{DoxyCompactList}\small\item\em get Tracke\-Hit at which fit became constrained, i.\-e. \end{DoxyCompactList}\item 
virtual int {\bf propagate} (const gear\-::\-Vector3\-D \&point, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_ad63761c0784893151efaa96b5839980d}

\begin{DoxyCompactList}\small\item\em propagate the fit to the point of closest approach to the given point, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf propagate} (const gear\-::\-Vector3\-D \&point, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_ae5039639d7b08f18dc8796b757fe4544}

\begin{DoxyCompactList}\small\item\em propagate the fit at the measurement site associated with the given hit, to the point of closest approach to the given point, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf propagate\-To\-Layer} (int layer\-I\-D, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a7ea89f7294c90fd2eacfe5692b441f45}

\begin{DoxyCompactList}\small\item\em propagate fit to numbered sensitive layer, returning Track\-State, chi2, ndf and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf propagate\-To\-Layer} (int layer\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a6e7dd531bfe8fca4acc996b050b7e9b2}

\begin{DoxyCompactList}\small\item\em propagate the fit at the measurement site associated with the given hit, to numbered sensitive layer, returning Track\-State, chi2, ndf and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf propagate\-To\-Det\-Element} (int det\-Element\-I\-D, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a41605b533e3b6c9a718ea352a2b2e6f5}

\begin{DoxyCompactList}\small\item\em propagate the fit to sensitive detector element, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf propagate\-To\-Det\-Element} (int det\-Eement\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_aa2ab13e8f3b970c05fa490e0d195a056}

\begin{DoxyCompactList}\small\item\em propagate the fit at the measurement site associated with the given hit, to sensitive detector element, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate} (const gear\-::\-Vector3\-D \&point, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_a18587114d77e1c230e2f7920015db8ab}

\begin{DoxyCompactList}\small\item\em extrapolate the fit to the point of closest approach to the given point, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate} (const gear\-::\-Vector3\-D \&point, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf)=0\label{classMarlinTrk_1_1IMarlinTrack_a10df99d579a9798a510a5f891d68b6cb}

\begin{DoxyCompactList}\small\item\em extrapolate the fit at the measurement site associated with the given hit, to the point of closest approach to the given point, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate\-To\-Layer} (int layer\-I\-D, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a2350639ac2e65edd654e6d95e2966491}

\begin{DoxyCompactList}\small\item\em extrapolate the fit to numbered sensitive layer, returning Track\-State, chi2, ndf and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate\-To\-Layer} (int layer\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_af123714e30b08203efaaee70e43641bf}

\begin{DoxyCompactList}\small\item\em extrapolate the fit at the measurement site associated with the given hit, to numbered sensitive layer, returning Track\-State, chi2, ndf and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate\-To\-Det\-Element} (int det\-Element\-I\-D, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a6430925ce38fe70a60c0fbd165f1a06b}

\begin{DoxyCompactList}\small\item\em extrapolate the fit to sensitive detector element, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf extrapolate\-To\-Det\-Element} (int det\-Eement\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, I\-M\-P\-L\-::\-Track\-State\-Impl \&ts, double \&chi2, int \&ndf, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a480b0d06dcd39f621f8ff33b4ccbc0df}

\begin{DoxyCompactList}\small\item\em extrapolate the fit at the measurement site associated with the given hit, to sensitive detector element, returning Track\-State, chi2 and ndf via reference \end{DoxyCompactList}\item 
virtual int {\bf intersection\-With\-Layer} (int layer\-I\-D, gear\-::\-Vector3\-D \&point, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_acbe71bd4ceefc307a8d742dc49e31f1a}

\begin{DoxyCompactList}\small\item\em extrapolate the fit to numbered sensitive layer, returning intersection point in global coordinates and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf intersection\-With\-Layer} (int layer\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, gear\-::\-Vector3\-D \&point, int \&det\-Element\-I\-D, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_abccfdbcf263dfe7960eb07ec028c4961}

\begin{DoxyCompactList}\small\item\em extrapolate the fit at the measurement site associated with the given hit, to numbered sensitive layer, returning intersection point in global coordinates and integer I\-D of the intersected sensitive detector element via reference \end{DoxyCompactList}\item 
virtual int {\bf intersection\-With\-Det\-Element} (int det\-Element\-I\-D, gear\-::\-Vector3\-D \&point, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_abf0eb7a74cddbf624988822478c5997d}

\begin{DoxyCompactList}\small\item\em extrapolate the fit to numbered sensitive detector element, returning intersection point in global coordinates via reference \end{DoxyCompactList}\item 
virtual int {\bf intersection\-With\-Det\-Element} (int det\-Eement\-I\-D, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$hit, gear\-::\-Vector3\-D \&point, int mode=mode\-Closest)=0\label{classMarlinTrk_1_1IMarlinTrack_a38be7d1e96d565c4c572a7c84f1cc266}

\begin{DoxyCompactList}\small\item\em extrapolate the fit at the measurement site associated with the given hit, to sensitive detector element, returning intersection point in global coordinates via reference \end{DoxyCompactList}\item 
virtual std\-::string {\bf to\-String} ()\label{classMarlinTrk_1_1IMarlinTrack_a14d9eee00866eee1ca5ae4fcf9c15a7e}

\begin{DoxyCompactList}\small\item\em Dump this track to a string for debugging -\/ implementation dependant. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const bool {\bf backward} = false\label{classMarlinTrk_1_1IMarlinTrack_a66855883fb9936fda39505c435590bf3}

\begin{DoxyCompactList}\small\item\em boolean constant for defining backward direction -\/ to be used for intitialise \end{DoxyCompactList}\item 
static const bool {\bf forward} = ! {\bf I\-Marlin\-Track\-::backward}\label{classMarlinTrk_1_1IMarlinTrack_a1564b1b1a049b14cfa93320ab3ba7deb}

\begin{DoxyCompactList}\small\item\em boolean constant for defining backward direction -\/ to be used for intitialise \end{DoxyCompactList}\item 
static const int {\bfseries mode\-Backward} = -\/ 1\label{classMarlinTrk_1_1IMarlinTrack_a4aff37dec4221362091950c8eba0f224}

\item 
static const int {\bfseries mode\-Closest} = 0\label{classMarlinTrk_1_1IMarlinTrack_a6ee8a4414bacd4377abf93ba8d6abf97}

\item 
static const int {\bfseries mode\-Forward} = + 1\label{classMarlinTrk_1_1IMarlinTrack_a05468d2c7707b9be899c8b9bf94ce263}

\item 
static const int {\bfseries success} = 0\label{classMarlinTrk_1_1IMarlinTrack_af53f6ff8af49b34d2dfafa59bafd2584}

\item 
static const int {\bfseries error} = 1\label{classMarlinTrk_1_1IMarlinTrack_a08a3b469570bbd7970fd57708fb7ee9e}

\item 
static const int {\bfseries bad\-\_\-intputs} = 3\label{classMarlinTrk_1_1IMarlinTrack_adc645928eea8f90f1ec8164cb6df1a8b}

\item 
static const int {\bfseries no\-\_\-intersection} = 4\label{classMarlinTrk_1_1IMarlinTrack_a8669b386f9ab85652b4ca46055c758f9}

\item 
static const int {\bfseries site\-\_\-discarded} = 5\label{classMarlinTrk_1_1IMarlinTrack_ae9067e689f1200f2662574ed75df8b28}

\item 
static const int {\bfseries site\-\_\-fails\-\_\-chi2\-\_\-cut} = 6\label{classMarlinTrk_1_1IMarlinTrack_a2755243f4238e9608d6bb638acf736db}

\item 
static const int {\bfseries all\-\_\-sites\-\_\-fail\-\_\-fit} = 7\label{classMarlinTrk_1_1IMarlinTrack_a7578501e336d752157ff58cf4efe3846}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Interface for generic tracks in \doxyref{Marlin\-Trk}{p.}{namespaceMarlinTrk}. 

The interface should provide the functionality to perform track finding and fitting. It is asssumed that the underlying implemetation will by a Kalman Filter or a similar algorithm.

\begin{DoxyVersion}{Version}

\end{DoxyVersion}
\begin{DoxyParagraph}{Id\-:}
\doxyref{I\-Marlin\-Track.\-h}{p.}{IMarlinTrack_8h_source} 5559 2016-\/06-\/07 16\-:14\-:02\-Z gaede 
\end{DoxyParagraph}
\begin{DoxyAuthor}{Author}
S.\-Aplin, F. Gaede D\-E\-S\-Y 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!add\-And\-Fit@{add\-And\-Fit}}
\index{add\-And\-Fit@{add\-And\-Fit}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{add\-And\-Fit}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::add\-And\-Fit (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$}]{hit, }
\item[{double \&}]{chi2increment, }
\item[{double}]{max\-Chi2\-Increment = {\ttfamily DBL\-\_\-MAX}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a73482988b170050dac94977a2a070958}


update the current fit using the supplied hit, return code via int. 

Provides the Chi2 increment to the fit from adding the hit via reference. the given hit will not be added if chi2increment $>$ max\-Chi2\-Increment. \index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!add\-Hit@{add\-Hit}}
\index{add\-Hit@{add\-Hit}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{add\-Hit}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::add\-Hit (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$}]{hit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a485f04846c6b1c5873b60a1cc0684638}


add hit to track -\/ the hits have to be added ordered in time ( i.\-e. 

typically outgoing ) this order will define the direction of the energy loss used in the fit 

Referenced by Marlin\-Trk\-::create\-Fit().

\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!fit@{fit}}
\index{fit@{fit}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{fit}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::fit (
\begin{DoxyParamCaption}
\item[{double}]{max\-Chi2\-Increment = {\ttfamily DBL\-\_\-MAX}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a19c987b0fa8e6af5b7c83f4ae520641b}


perform the fit of all current hits, returns error code ( I\-Marlin\-Track\-::success if no error ) . 

the fit will be performed in the order specified at \doxyref{initialise()}{p.}{classMarlinTrk_1_1IMarlinTrack_a55854e0c15eb388fe6f8df6a6a4d643b} wrt the order used in \doxyref{add\-Hit()}{p.}{classMarlinTrk_1_1IMarlinTrack_a485f04846c6b1c5873b60a1cc0684638}, i.\-e. \doxyref{I\-Marlin\-Track\-::backward}{p.}{classMarlinTrk_1_1IMarlinTrack_a66855883fb9936fda39505c435590bf3} implies fitting from the outside to the inside for tracks comming from the I\-P. 

Referenced by Marlin\-Trk\-::create\-Fit().

\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!get\-Hits\-In\-Fit@{get\-Hits\-In\-Fit}}
\index{get\-Hits\-In\-Fit@{get\-Hits\-In\-Fit}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{get\-Hits\-In\-Fit}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::get\-Hits\-In\-Fit (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ std\-::pair$<$ E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$, double $>$ $>$ \&}]{hits}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a21709940abde36727abface5a5266020}


get the list of hits included in the fit, together with the chi2 contributions of the hits. 

Pointers to the hits together with their chi2 contribution will be filled into a vector of pairs consitining of the pointer as the first part of the pair and the chi2 contribution as the second. 

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

\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!get\-Tracker\-Hit\-At\-Positive\-N\-D\-F@{get\-Tracker\-Hit\-At\-Positive\-N\-D\-F}}
\index{get\-Tracker\-Hit\-At\-Positive\-N\-D\-F@{get\-Tracker\-Hit\-At\-Positive\-N\-D\-F}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{get\-Tracker\-Hit\-At\-Positive\-N\-D\-F}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::get\-Tracker\-Hit\-At\-Positive\-N\-D\-F (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$\&}]{trkhit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_ae1b2721954a883c4424cc8ad53453e83}


get Tracke\-Hit at which fit became constrained, i.\-e. 

ndf $>$= 0 

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

\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!initialise@{initialise}}
\index{initialise@{initialise}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{initialise}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::initialise (
\begin{DoxyParamCaption}
\item[{bool}]{fit\-Direction}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a55854e0c15eb388fe6f8df6a6a4d643b}


initialise the fit using the hits added up to this point -\/ the fit direction has to be specified using \doxyref{I\-Marlin\-Track\-::backward}{p.}{classMarlinTrk_1_1IMarlinTrack_a66855883fb9936fda39505c435590bf3} or \doxyref{I\-Marlin\-Track\-::forward}{p.}{classMarlinTrk_1_1IMarlinTrack_a1564b1b1a049b14cfa93320ab3ba7deb}. 

this is the order wrt the order used in \doxyref{add\-Hit()}{p.}{classMarlinTrk_1_1IMarlinTrack_a485f04846c6b1c5873b60a1cc0684638} that will be used in the \doxyref{fit()}{p.}{classMarlinTrk_1_1IMarlinTrack_a19c987b0fa8e6af5b7c83f4ae520641b} 

Referenced by Marlin\-Trk\-::create\-Fit().

\index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!initialise@{initialise}}
\index{initialise@{initialise}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{initialise}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::initialise (
\begin{DoxyParamCaption}
\item[{const E\-V\-E\-N\-T\-::\-Track\-State \&}]{ts, }
\item[{double}]{bfield\-\_\-z, }
\item[{bool}]{fit\-Direction}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_a17603627c75f7e8ab6400d21bce83b79}


initialise the fit with a track state, and z component of the B field in Tesla. 

the fit direction has to be specified using \doxyref{I\-Marlin\-Track\-::backward}{p.}{classMarlinTrk_1_1IMarlinTrack_a66855883fb9936fda39505c435590bf3} or \doxyref{I\-Marlin\-Track\-::forward}{p.}{classMarlinTrk_1_1IMarlinTrack_a1564b1b1a049b14cfa93320ab3ba7deb}. this is the order that will be used in the \doxyref{fit()}{p.}{classMarlinTrk_1_1IMarlinTrack_a19c987b0fa8e6af5b7c83f4ae520641b}. it is the users responsibility that the track state is consistent with the order of the hits used in \doxyref{add\-Hit()}{p.}{classMarlinTrk_1_1IMarlinTrack_a485f04846c6b1c5873b60a1cc0684638} ( i.\-e. the direction of energy loss ) \index{Marlin\-Trk\-::\-I\-Marlin\-Track@{Marlin\-Trk\-::\-I\-Marlin\-Track}!test\-Chi2\-Increment@{test\-Chi2\-Increment}}
\index{test\-Chi2\-Increment@{test\-Chi2\-Increment}!MarlinTrk::IMarlinTrack@{Marlin\-Trk\-::\-I\-Marlin\-Track}}
\subsubsection[{test\-Chi2\-Increment}]{\setlength{\rightskip}{0pt plus 5cm}virtual int Marlin\-Trk\-::\-I\-Marlin\-Track\-::test\-Chi2\-Increment (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$}]{hit, }
\item[{double \&}]{chi2increment}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classMarlinTrk_1_1IMarlinTrack_ae617b3f0e7c39040c706733a4084bae1}


obtain the chi2 increment which would result in adding the hit to the fit. 

This method will not alter the current fit, and the hit will not be stored in the list of hits or outliers 

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