\section{marlintpc\-:\-:Kal\-Tracking\-Straight Class Reference}
\label{classmarlintpc_1_1KalTrackingStraight}\index{marlintpc\-::\-Kal\-Tracking\-Straight@{marlintpc\-::\-Kal\-Tracking\-Straight}}


This is the straight track class, which inherits from Att\-Kal\-Track.  




{\ttfamily \#include $<$Kal\-Tracking\-Straight.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Kal\-Tracking\-Straight\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classmarlintpc_1_1KalTrackingStraight}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bfseries Kal\-Tracking\-Straight} (const gear\-::\-Gear\-Mgr \&gear\-Mgr, unsigned int min\-Track\-Hits, unsigned int max\-Skip\-Rows, double max\-Delta\-Chi2, int hit\-Distance\-Factor, int hit\-Starting\-Mode, double v\-Drift, std\-::string module\-Not\-Used)\label{classmarlintpc_1_1KalTrackingStraight_a14ef609017d8142a27159553dc5a32af}

\item 
int {\bf get\-Type} ()\label{classmarlintpc_1_1KalTrackingStraight_aa2ad9527331406814817311bb53ff368}

\begin{DoxyCompactList}\small\item\em Get track type\-: straight line. \end{DoxyCompactList}\item 
double {\bfseries get\-Slope} ()\label{classmarlintpc_1_1KalTrackingStraight_a28b7c97a8933756532d26b0f772783aa}

\item 
double {\bfseries get\-Intercept} ()\label{classmarlintpc_1_1KalTrackingStraight_abb4438bc1630410c1b56e095efcb4d8e}

\item 
double {\bf get\-Delta\-Chi2} ()\label{classmarlintpc_1_1KalTrackingStraight_a48f680e8f60148de83eed53ae26469c9}

\begin{DoxyCompactList}\small\item\em Get the Chi2 increment at one step. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual bool {\bf do\-Add\-And\-Filter} ({\bf Straight\-Track\-Parameters} $\ast$track, {\bf Module\-Row\-Hit} hit)\label{classmarlintpc_1_1KalTrackingStraight_a7eff99728245c60f5a45baaf4abfa973}

\begin{DoxyCompactList}\small\item\em Add a new site to track and update track parameters. \end{DoxyCompactList}\item 
virtual double {\bfseries get\-Track\-Tangent\-And\-Layer\-Angle} ({\bf Straight\-Track\-Parameters} $\ast$track)\label{classmarlintpc_1_1KalTrackingStraight_af3812bac9db249f0a0d6fd0890282ba8}

\item 
virtual bool {\bf search\-Track} ({\bf Module\-Row\-Hit} hit)\label{classmarlintpc_1_1KalTrackingStraight_af6a3df2c3f68c3f0f8f23c226f75abc6}

\begin{DoxyCompactList}\small\item\em Search track starting from hit. \end{DoxyCompactList}\item 
virtual void {\bfseries set\-L\-C\-I\-O\-Track\-Parameters} (I\-M\-P\-L\-::\-Track\-Impl $\ast$trk)\label{classmarlintpc_1_1KalTrackingStraight_acf80ecb9748677b9b91c5372e54967e7}

\item 
void {\bf print\-State\-Vector} ()
\begin{DoxyCompactList}\small\item\em Convenience function for printing. \end{DoxyCompactList}\item 
virtual double {\bf calculate\-Delta\-Chi2} ({\bf Straight\-Track\-Parameters} $\ast$track\-Candidate)\label{classmarlintpc_1_1KalTrackingStraight_a80c342e053ecae619016cff5b3b4172c}

\begin{DoxyCompactList}\small\item\em Get the delta\-Chi2 from the track candidate. \end{DoxyCompactList}\item 
virtual Intersection {\bf extrapolate\-Into\-Next\-Layer} (int target\-Distance, bool use\-Far\-Hit)
\begin{DoxyCompactList}\small\item\em Use the current track state of the container\-Track to extrapolate into the next layer. \end{DoxyCompactList}\item 
virtual const \\*
kaldet\-::\-Gear\-T\-P\-C\-Meas\-Layer $\ast$ {\bfseries extrapolate\-Into\-Next\-Layer} (int target\-Distance)\label{classmarlintpc_1_1KalTrackingStraight_a371378de49a92f6ed9efed37b03a7588}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
class {\bfseries Kal\-Tracking\-Straight\-Tester}\label{classmarlintpc_1_1KalTrackingStraight_af33b52cbb284dee2eb0b9b033c2c2b66}

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


\subsection{Detailed Description}
This is the straight track class, which inherits from Att\-Kal\-Track. 

Kalman filter algorithm is implemented inside this class.

\begin{DoxyAuthor}{Author}
Bo Li, Tsinghua University 

Keisuke Fujii, K\-E\-K 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Kal\-Tracking\-Straight@{marlintpc\-::\-Kal\-Tracking\-Straight}!extrapolate\-Into\-Next\-Layer@{extrapolate\-Into\-Next\-Layer}}
\index{extrapolate\-Into\-Next\-Layer@{extrapolate\-Into\-Next\-Layer}!marlintpc::KalTrackingStraight@{marlintpc\-::\-Kal\-Tracking\-Straight}}
\subsubsection[{extrapolate\-Into\-Next\-Layer}]{\setlength{\rightskip}{0pt plus 5cm}virtual Intersection marlintpc\-::\-Kal\-Tracking\-Straight\-::extrapolate\-Into\-Next\-Layer (
\begin{DoxyParamCaption}
\item[{int}]{target\-Distance, }
\item[{bool}]{use\-Far\-Hit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}\label{classmarlintpc_1_1KalTrackingStraight_a34a50336c9b64295f45f6cf32e2b32e2}


Use the current track state of the container\-Track to extrapolate into the next layer. 

The distance can be positive or negative, depending if we move inwards or outwards, or 0 to get another intersection on the same layer. 

Implements {\bf marlintpc\-::\-Kal\-Tracking\-Template$<$ Straight\-Track\-Parameters $>$} \doxyref{}{p.}{classmarlintpc_1_1KalTrackingTemplate_aeb2b26641e73db607c82c0d4d1958c31}.

\index{marlintpc\-::\-Kal\-Tracking\-Straight@{marlintpc\-::\-Kal\-Tracking\-Straight}!print\-State\-Vector@{print\-State\-Vector}}
\index{print\-State\-Vector@{print\-State\-Vector}!marlintpc::KalTrackingStraight@{marlintpc\-::\-Kal\-Tracking\-Straight}}
\subsubsection[{print\-State\-Vector}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Kal\-Tracking\-Straight\-::print\-State\-Vector (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}\label{classmarlintpc_1_1KalTrackingStraight_a2b172fab82d5702bf2097307c3c0c751}


Convenience function for printing. 

Implemented for helix and straight tracks. 

Implements {\bf marlintpc\-::\-Kal\-Tracking\-Template$<$ Straight\-Track\-Parameters $>$} \doxyref{}{p.}{classmarlintpc_1_1KalTrackingTemplate_ac786d6b27a444bd383300f2b5ffc9ce0}.



The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Kal\-Tracking\-Straight.\-h\end{DoxyCompactItemize}
