\section{Cells\-Automaton\-M\-V Class Reference}
\label{classCellsAutomatonMV}\index{Cells\-Automaton\-M\-V@{Cells\-Automaton\-M\-V}}
Inheritance diagram for Cells\-Automaton\-M\-V\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCellsAutomatonMV}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classCellsAutomatonMV_a287e2bc260236246b14fe12a584abd91}

\item 
virtual void {\bf init} ()
\begin{DoxyCompactList}\small\item\em Called at the begin of the job before anything is read. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (L\-C\-Run\-Header $\ast$run)\label{classCellsAutomatonMV_a0acc7bc6b7a7c39626155580bb498186}

\begin{DoxyCompactList}\small\item\em Called for every run. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (L\-C\-Event $\ast$evt)\label{classCellsAutomatonMV_a596464839e1469b6cf0036344d67c5c2}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ the working horse. \end{DoxyCompactList}\item 
virtual void {\bfseries check} (L\-C\-Event $\ast$evt)\label{classCellsAutomatonMV_afedf6b35701594fce0d091fc956cc56d}

\item 
virtual void {\bf end} ()\label{classCellsAutomatonMV_a50074ddc073019e55a0ede567fbaf073}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
int {\bfseries get\-Detector\-I\-D} (Tracker\-Hit $\ast$hit)\label{classCellsAutomatonMV_afc35f2d2b57164f7281369dd25c4cbf1}

\item 
int {\bfseries get\-Side\-I\-D} (Tracker\-Hit $\ast$hit)\label{classCellsAutomatonMV_a8e11e099eb13466eab82b1ced79379a6}

\item 
int {\bfseries get\-Layer\-I\-D} (Tracker\-Hit $\ast$hit)\label{classCellsAutomatonMV_afd723be8215f57f6b2d6bc3e40937832}

\item 
int {\bfseries get\-Module\-I\-D} (Tracker\-Hit $\ast$hit)\label{classCellsAutomatonMV_a49c2bbc847fa4ed65933072f9b27c1cc}

\item 
int {\bfseries get\-Sensor\-I\-D} (Tracker\-Hit $\ast$hit)\label{classCellsAutomatonMV_a1050db88d061fef83e709e41fb60212d}

\item 
void {\bfseries Initialise\-V\-T\-X} (L\-C\-Event $\ast$evt, E\-V\-E\-N\-T\-::\-Tracker\-Hit\-Vec Hits\-Temp)\label{classCellsAutomatonMV_afbbe48772480ee65161a5a84aedb7e14}

\item 
void {\bfseries setup\-Gear\-Geom} (const gear\-::\-Gear\-Mgr $\ast$gear\-Mgr)\label{classCellsAutomatonMV_aa8b1a2c2c615d3d8575ef354ad9bca0d}

\item 
bool {\bfseries set\-Criteria} (unsigned round)\label{classCellsAutomatonMV_a0171a34b5f7133ef2d014e976bfc3861}

\item 
void {\bfseries Raw\-Track\-Fit} (std\-::vector$<$ Marlin\-Trk\-::\-I\-Marlin\-Track $\ast$ $>$ cand\-Marlin\-Tracks, std\-::vector$<$ I\-M\-P\-L\-::\-Track\-Impl $\ast$ $>$ \&final\-Tracks)\label{classCellsAutomatonMV_af915f0ccac0c87e41453c1404d2c0174}

\item 
void {\bfseries Fit\-Func2} (std\-::vector$<$ Raw\-Track $>$ raw\-Tracks, std\-::vector$<$ Marlin\-Trk\-::\-I\-Marlin\-Track $\ast$ $>$ \&cand\-Marlin\-Tracks)\label{classCellsAutomatonMV_ad06af344fb53806cfa7353f4168871d2}

\item 
void {\bfseries finalise\-Track} (Track\-Impl $\ast$new\-Track\-Impl, L\-C\-Collection\-Vec $\ast$track\-Vec)\label{classCellsAutomatonMV_a8468c9897f8bcbcf053ed38ac5d3a759}

\item 
void {\bfseries Create\-Mini\-Vectors} (int sector)\label{classCellsAutomatonMV_a17de238e959d83f8b598d89e793f51aa}

\item 
bool {\bfseries theta\-Agreement} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit)\label{classCellsAutomatonMV_a7aac37fff41f49fbc172b01188b136c6}

\item 
bool {\bfseries theta\-Agreement\-Improved} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit, int layer)\label{classCellsAutomatonMV_a091d74322581b880c455fa47eb8449bb}

\item 
double {\bfseries Dist} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit)\label{classCellsAutomatonMV_a761c127321b9bbc52d65dccc27b60240}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
int {\bfseries n\-Evt}\label{classCellsAutomatonMV_ac68809077d496f2e0ac5d67e25b93659}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Phi}\label{classCellsAutomatonMV_ac0c152fbdd791554317cfa62f6993ecf}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Theta}\label{classCellsAutomatonMV_af7cdecab1576fe8cdd6ada6c4a90cccd}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Phi\-M\-V}\label{classCellsAutomatonMV_a988bf18a31e10eda156efb2239c86d41}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Theta\-M\-V}\label{classCellsAutomatonMV_a61c28fbb80380cf999af9aaf8e1b7ca6}

\item 
int {\bfseries \-\_\-n\-Layers}\label{classCellsAutomatonMV_a22135d657e9b4e61a3d72a605f5438a8}

\item 
float {\bfseries \-\_\-b\-Field}\label{classCellsAutomatonMV_af8a19862575939dd399d09fba3deb448}

\item 
double {\bfseries \-\_\-d\-Phi}\label{classCellsAutomatonMV_aea1f284addf95ea6ed524e0a1ce34ab3}

\item 
double {\bfseries \-\_\-d\-Theta}\label{classCellsAutomatonMV_a22d756fdfc3abefe91bebbc76c759bc6}

\item 
U\-T\-I\-L\-::\-Bit\-Field64 $\ast$ {\bfseries \-\_\-encoder}\label{classCellsAutomatonMV_a7f6bb81af487f149eb9e917062004a04}

\item 
unsigned int {\bfseries \-\_\-n\-Layers\-V\-T\-X}\label{classCellsAutomatonMV_aae4f14153730b8d47c3ac88655d3675a}

\item 
unsigned int {\bfseries \-\_\-n\-Layers\-S\-I\-T}\label{classCellsAutomatonMV_a3a063478ff92fe3033ceb8d3d77c0359}

\item 
std\-::map$<$ int, \\*
E\-V\-E\-N\-T\-::\-Tracker\-Hit\-Vec $>$ {\bf \-\_\-map\-\_\-sector\-\_\-spacepoints}\label{classCellsAutomatonMV_a40963fffa531a6740ab9c01e321a25d2}

\begin{DoxyCompactList}\small\item\em A map to store the hits according to their sectors. \end{DoxyCompactList}\item 
std\-::map$<$ int, std\-::vector\\*
$<$ I\-Hit $\ast$ $>$ $>$ {\bfseries \-\_\-map\-\_\-sector\-\_\-hits}\label{classCellsAutomatonMV_ae230fa610ad9968a85b5bc387e350324}

\item 
std\-::map$<$ int, \\*
E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$ $>$ {\bfseries \-\_\-map\-\_\-1dhits\-\_\-spacepoints}\label{classCellsAutomatonMV_ad9f0f16739af1833adbd6c7940c24965}

\item 
std\-::pair$<$ E\-V\-E\-N\-T\-::\-Tracker\-Hit \\*
$\ast$, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$ $>$ {\bf \-\_\-pairs\-\_\-1dhits\-\_\-spacepoints}\label{classCellsAutomatonMV_a6f5d178d3f35bd268be343f6c1981ba5}

\begin{DoxyCompactList}\small\item\em A pair to keep information for composite spacepoints. \end{DoxyCompactList}\item 
std\-::vector$<$ std\-::string $>$ {\bf \-\_\-criteria\-Names}\label{classCellsAutomatonMV_af3386f8a2feaf7d763b9563d285d1c36}

\begin{DoxyCompactList}\small\item\em Names of the used criteria. \end{DoxyCompactList}\item 
std\-::map$<$ std\-::string, \\*
std\-::vector$<$ float $>$ $>$ {\bf \-\_\-crit\-Minima}\label{classCellsAutomatonMV_a98f216225daf76536d19e6ea18b19483}

\begin{DoxyCompactList}\small\item\em Map containing the name of a criterion and a vector of the minimum cut offs for it. \end{DoxyCompactList}\item 
std\-::map$<$ std\-::string, \\*
std\-::vector$<$ float $>$ $>$ {\bf \-\_\-crit\-Maxima}\label{classCellsAutomatonMV_a496be48ae2d29fb0978b03326231ac9c}

\begin{DoxyCompactList}\small\item\em Map containing the name of a criterion and a vector of the maximum cut offs for it. \end{DoxyCompactList}\item 
int {\bf \-\_\-hits\-Per\-Track\-Min}\label{classCellsAutomatonMV_ad5d9a30c82a453d742b463c7a34827ff}

\begin{DoxyCompactList}\small\item\em Minimum number of hits a track has to have in order to be stored. \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit2\-Vec}\label{classCellsAutomatonMV_a21615c49750372df2e91d556cfaabe4e}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 2 hits (2 1-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit3\-Vec}\label{classCellsAutomatonMV_afa8b0faacd458cc2c3448d815a14e809}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 3 hits (2 2-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit4\-Vec}\label{classCellsAutomatonMV_a1ddef7cdfad0584eb9cc4e09e682e270}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 4 hits (2 3-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Hit $\ast$ $>$ {\bfseries Mini\-Vectors\-Temp}\label{classCellsAutomatonMV_a11c6ac3b75735eaf852fa260a8e7ddda}

\item 
std\-::vector$<$ I\-Hit $\ast$ $>$ {\bfseries Test\-Mini\-Vectors\-Temp}\label{classCellsAutomatonMV_af8d1cf2963ba11b84fef703d933f75a2}

\item 
double {\bf \-\_\-chi2\-Prob\-Cut}\label{classCellsAutomatonMV_a154da49e27e352fc4c6c03fa88633374}

\begin{DoxyCompactList}\small\item\em Cut for the Kalman Fit (the chi squared probability) \end{DoxyCompactList}\item 
double {\bfseries \-\_\-helix\-Fit\-Max}\label{classCellsAutomatonMV_a816c232c5f3c206210925bfb901191db}

\item 
double {\bfseries \-\_\-chi2\-Over\-Ndf\-Cut}\label{classCellsAutomatonMV_afbcba0c3e9ce1d206fd6cac02b8c77f2}

\item 
const Sector\-System\-V\-X\-D $\ast$ {\bfseries \-\_\-sector\-System\-V\-X\-D}\label{classCellsAutomatonMV_aec04e8047fca98e55c6d5bb43072efc4}

\item 
int {\bf \-\_\-max\-Connections\-Automaton}
\begin{DoxyCompactList}\small\item\em the maximum number of connections that are allowed in the automaton, if this value is surpassed, rerun the automaton with tighter cuts or stop it entirely. \end{DoxyCompactList}\item 
Marlin\-Trk\-::\-I\-Marlin\-Trk\-System $\ast$ {\bf \-\_\-trk\-System}\label{classCellsAutomatonMV_a50b14b96a9b8410c81a2dcdea226c195}

\begin{DoxyCompactList}\small\item\em pointer to the I\-Marlin\-Trk\-System instance \end{DoxyCompactList}\item 
std\-::string {\bfseries \-\_\-trk\-System\-Name}\label{classCellsAutomatonMV_a9502e96538281764328bbb3a4cc848fb}

\item 
bool {\bfseries \-\_\-\-M\-S\-On}\label{classCellsAutomatonMV_a05d0ac0239e40245c822437f6dbfd088}

\item 
bool {\bfseries \-\_\-\-Eloss\-On}\label{classCellsAutomatonMV_a2d3300960b2cc3416c3fcba080f0e610}

\item 
bool {\bfseries \-\_\-\-Smooth\-On}\label{classCellsAutomatonMV_aa224302e1c7dedd586aa62094d410962}

\item 
bool {\bfseries \-\_\-middle\-Layer}\label{classCellsAutomatonMV_a8d1eb4389d079b483ed9a4e40a034dc6}

\item 
int {\bfseries \-\_\-use\-S\-I\-T}\label{classCellsAutomatonMV_aed146bc768a3bb3b1e1c20a95c156d02}

\item 
int {\bfseries \-\_\-ip\-Hit}\label{classCellsAutomatonMV_a44d8a60814871d0b46fa65c2c6ecbaed}

\item 
int {\bfseries \-\_\-layer\-Step\-Max}\label{classCellsAutomatonMV_a306ab018662d91ed0603a56fd1ffb59c}

\item 
int {\bfseries \-\_\-last\-Layer\-To\-I\-P}\label{classCellsAutomatonMV_a5ecc9e94404d56ad27cf086a9415e43d}

\item 
int {\bfseries \-\_\-neigh\-Phi}\label{classCellsAutomatonMV_a24d6a7072777fe9068ffe3df7e800b61}

\item 
int {\bfseries \-\_\-neigh\-Theta}\label{classCellsAutomatonMV_a833a63086994ff2ccd977cdf8576c0a7}

\item 
int {\bfseries \-\_\-layer\-Max}\label{classCellsAutomatonMV_a74b175c651e23102586edaa4fa924a5f}

\item 
int {\bfseries \-\_\-n\-Hits\-Chi2}\label{classCellsAutomatonMV_af152382f58bd3bd9197198982a020590}

\item 
int {\bfseries Mini\-Vectors\-\_\-sectors}\label{classCellsAutomatonMV_a6269582b3403b5459e364fc93fbfa922}

\item 
int {\bfseries Mini\-Vectors\-\_\-\-Cut\-Selection}\label{classCellsAutomatonMV_afea4127f60dbc0de5576d9749ab16b7d}

\item 
Float\-Vec {\bfseries \-\_\-res\-U}\label{classCellsAutomatonMV_acd96a6bff1bb160b6622d812360e5d4d}

\item 
double {\bfseries \-\_\-max\-Dist}\label{classCellsAutomatonMV_ae6b1ac879571db2567125d27a5489491}

\item 
double {\bfseries \-\_\-hit\-Pair\-Th\-Diff}\label{classCellsAutomatonMV_a6570bcb9f9794e76ad7b5a54bca38a29}

\item 
double {\bfseries \-\_\-hit\-Pair\-Th\-Diff\-Inner}\label{classCellsAutomatonMV_a07c2e167ea38698544d91843b515c8c4}

\item 
double {\bfseries \-\_\-hit\-Pair\-Th\-Diff\-S\-I\-T}\label{classCellsAutomatonMV_a2f908b4138752115ed5e7271651a118a}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-d0}\label{classCellsAutomatonMV_a72d0ab51a5d820d9139e472329aaa80c}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-phi0}\label{classCellsAutomatonMV_af31fe6edc7fd14a0e5f15ce2a71fece8}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-omega}\label{classCellsAutomatonMV_acdf4ded7e6ee9a6ba37a21c3c323aa54}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-z0}\label{classCellsAutomatonMV_a5bfff251eeba726fb5cceeb4a32d02e1}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-tan\-L}\label{classCellsAutomatonMV_afd356c1dc7e538a0089c0021a0f1e692}

\item 
float {\bfseries \-\_\-max\-Chi2\-Per\-Hit}\label{classCellsAutomatonMV_ac5bbe27f42061e6ddddd69540cb07ebb}

\item 
int {\bfseries \-\_\-initial\-Track\-State}\label{classCellsAutomatonMV_a9bcc8021adc607036598aaf079de29d7}

\item 
int {\bfseries \-\_\-fit\-Direction}\label{classCellsAutomatonMV_a63480eaf173e2bde0e96b91101d01c43}

\item 
int {\bfseries \-\_\-max\-Hits\-Per\-Sector}\label{classCellsAutomatonMV_a9d1cf73e401124bffc56dd61443aa04b}

\item 
std\-::string {\bf \-\_\-\-V\-T\-X\-Hit\-Collection}\label{classCellsAutomatonMV_a937801c6d7008fc03542652d1cbc0dc4}

\begin{DoxyCompactList}\small\item\em Input collection name. \end{DoxyCompactList}\item 
std\-::string {\bfseries \-\_\-\-S\-I\-T\-Hit\-Collection}\label{classCellsAutomatonMV_a499d4109f50bfeb598df9c35cb7161ba}

\item 
std\-::string {\bfseries \-\_\-\-C\-A\-Track\-Collection}\label{classCellsAutomatonMV_a4140c568323596cc7ddf6a0700c42257}

\item 
std\-::map$<$ L\-C\-Collection \\*
$\ast$, std\-::string $>$ {\bfseries \-\_\-col\-Names\-Tracker\-Hits}\label{classCellsAutomatonMV_a96122220e97763a1d66c87ad539cf4ff}

\item 
std\-::string {\bfseries \-\_\-best\-Subset\-Finder}\label{classCellsAutomatonMV_afea952e548ed08fdf8dc37fdab26c03f}

\item 
int {\bf \-\_\-output\-\_\-track\-\_\-col\-\_\-quality}\label{classCellsAutomatonMV_a472b1cfdffafffaa30bddd01589d1beb}

\begin{DoxyCompactList}\small\item\em The quality of the output track collection. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
static const double {\bfseries T\-W\-O\-P\-I} = 2$\ast$M\-\_\-\-P\-I\label{classCellsAutomatonMV_a68e53b960d0b7fbba16975cd3079e6de}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-G\-O\-O\-D} = 1\label{classCellsAutomatonMV_a2ecc546a7550456d2c8a7538e9a4670d}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-F\-A\-I\-R} = 2\label{classCellsAutomatonMV_a5ed3d4ca53ca7660820ffb03bfba6581}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-P\-O\-O\-R} = 3\label{classCellsAutomatonMV_ad5af75981bccc08b96a9e04be29e6b1c}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\index{Cells\-Automaton\-M\-V@{Cells\-Automaton\-M\-V}!init@{init}}
\index{init@{init}!CellsAutomatonMV@{Cells\-Automaton\-M\-V}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void Cells\-Automaton\-M\-V\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classCellsAutomatonMV_a4f957066db67da83e862a8b8dc359cde}


Called at the begin of the job before anything is read. 

Use to initialize the processor, e.\-g. book histograms. 

References \-\_\-trk\-System.



\subsection{Member Data Documentation}
\index{Cells\-Automaton\-M\-V@{Cells\-Automaton\-M\-V}!\-\_\-max\-Connections\-Automaton@{\-\_\-max\-Connections\-Automaton}}
\index{\-\_\-max\-Connections\-Automaton@{\-\_\-max\-Connections\-Automaton}!CellsAutomatonMV@{Cells\-Automaton\-M\-V}}
\subsubsection[{\-\_\-max\-Connections\-Automaton}]{\setlength{\rightskip}{0pt plus 5cm}int Cells\-Automaton\-M\-V\-::\-\_\-max\-Connections\-Automaton\hspace{0.3cm}{\ttfamily [protected]}}\label{classCellsAutomatonMV_a68e817b35e12711e7a55c546082eac71}


the maximum number of connections that are allowed in the automaton, if this value is surpassed, rerun the automaton with tighter cuts or stop it entirely. 



Referenced by process\-Event().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Cells\-Automaton\-M\-V.\-h\item 
Cells\-Automaton\-M\-V.\-cc\end{DoxyCompactItemize}
