\section{Ki\-Track\-:\-:Segment Class Reference}
\label{classKiTrack_1_1Segment}\index{Ki\-Track\-::\-Segment@{Ki\-Track\-::\-Segment}}


A \doxyref{Segment}{p.}{classKiTrack_1_1Segment} is something like a track or a part of a track\-: it consists of hits linked together.  




{\ttfamily \#include $<$Segment.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bfseries Segment} (std\-::vector$<$ {\bf I\-Hit} $\ast$ $>$ hits)\label{classKiTrack_1_1Segment_a55e1711a6f2b4a3e221f49e72705171d}

\item 
{\bfseries Segment} ({\bf I\-Hit} $\ast$hit)\label{classKiTrack_1_1Segment_a6290208756d69496ae152f3d496be6df}

\item 
void {\bfseries delete\-Parent} ({\bf Segment} $\ast$del\-Parent)\label{classKiTrack_1_1Segment_a36ecea749a8324d3edbb27ba335a5015}

\item 
void {\bfseries delete\-Child} ({\bf Segment} $\ast$del\-Child)\label{classKiTrack_1_1Segment_abe3cca1e0df941fe0267e86ab2fd9f7c}

\item 
std\-::list$<$ {\bf Segment} $\ast$ $>$ {\bfseries get\-Children} ()\label{classKiTrack_1_1Segment_a21545c492c2d1383e89b724abcd28b43}

\item 
std\-::list$<$ {\bf Segment} $\ast$ $>$ {\bfseries get\-Parents} ()\label{classKiTrack_1_1Segment_a4c36991f2c26b5c631f28990eb173cda}

\item 
std\-::vector$<$ {\bf I\-Hit} $\ast$ $>$ {\bfseries get\-Hits} () const \label{classKiTrack_1_1Segment_a2bc9191df5d8e43cc6d845d2c9a54a91}

\item 
void {\bfseries add\-Child} ({\bf Segment} $\ast$child)\label{classKiTrack_1_1Segment_aa64115a9643ca1d545ccdc0ad48574e2}

\item 
void {\bfseries add\-Parent} ({\bf Segment} $\ast$parent)\label{classKiTrack_1_1Segment_a0baf84d14d221aa65b8b8f34f8f0a85b}

\item 
unsigned {\bfseries get\-Layer} () const \label{classKiTrack_1_1Segment_abb01d8692e543e23f8f667157e5b49a1}

\item 
void {\bfseries set\-Layer} (unsigned layer)\label{classKiTrack_1_1Segment_a46805feb5a59b71a80d04fa30f8f29f2}

\item 
std\-::vector$<$ int $>$ \& {\bfseries get\-State} ()\label{classKiTrack_1_1Segment_a249c8c776fe2fddb1136fa477265f3dd}

\item 
void {\bfseries raise\-State} ()\label{classKiTrack_1_1Segment_adf6ca47124bf76ea6546cd9feaa362a7}

\item 
int {\bfseries get\-Inner\-State} () const \label{classKiTrack_1_1Segment_abedf5c6f6ee6e2bcaa2e6cad6701b5a4}

\item 
int {\bfseries get\-Outer\-State} () const \label{classKiTrack_1_1Segment_af44525927672ec094e1e1bc3435b9014}

\item 
void {\bfseries reset\-State} ()\label{classKiTrack_1_1Segment_a962f860a4a280e205ed90cbca3351997}

\item 
void {\bfseries set\-Skipped\-Layers} (unsigned skipped\-Layers)\label{classKiTrack_1_1Segment_a5e8eda74fc7ebc3dc9715f5448046b6c}

\item 
bool {\bfseries is\-Active} () const \label{classKiTrack_1_1Segment_a15468ce40091387fab9d0a60bfe63bca}

\item 
void {\bfseries set\-Active} (bool active)\label{classKiTrack_1_1Segment_a4ae7f87c5df5a5ddaa781cf4cad3ad66}

\item 
std\-::string {\bf get\-Info} ()
\end{DoxyCompactItemize}


\subsection{Detailed Description}
A \doxyref{Segment}{p.}{classKiTrack_1_1Segment} is something like a track or a part of a track\-: it consists of hits linked together. 

The simplest \doxyref{Segment}{p.}{classKiTrack_1_1Segment} consists of only one single hit (the truly smallest part of a track), a 1-\/hit-\/segment. A segment of two hits (a 2-\/hit-\/segment) is the next bigger version and so on.

Segments are used by the Cellular \doxyref{Automaton}{p.}{classKiTrack_1_1Automaton} (see class \doxyref{Automaton}{p.}{classKiTrack_1_1Automaton}), which uses them to find tracks.

The main difference to a hit (in case of 1-\/hit-\/segments) or a track (in case of segments with more hits) is, that the segments can have connection to other Segments. They can have children and parents. Children are connected Segments on the inside, Parents are connected Segments on the outside.

Inside and outside are w.\-r.\-t. the layer a segment is on. Every \doxyref{Segment}{p.}{classKiTrack_1_1Segment} has a layer (get\-Layer(), set\-Layer() ). The layer indicates the place of the segment (whereever that place is. e.\-g. a detector ). Layer 0 usually means inside and higher layers are further outside.

Also every \doxyref{Segment}{p.}{classKiTrack_1_1Segment} has a state. It is another feature requested by the Cellular \doxyref{Automaton}{p.}{classKiTrack_1_1Automaton}. It gives the C\-A the possibility to check the quality of a \doxyref{Segment}{p.}{classKiTrack_1_1Segment} and manipulate it (the higher the state, usually the better; but for details on the states in the Cellular Autoamton see the {\tt Introduction to the Cellular Automaton} )

Segments can skip layers (a 1-\/hit-\/segment can't, since it is just a hit and can only be on one layer, but a 2-\/hit-\/segment could already be the connection between layer 2 and layer 4, thus skipping a layer). For this the state is not only an integer, but a vector of integers representing states for every layer. (the 2-\/hit-\/segment skipping layer number 3 can therefore be imagined as two 2-\/hit-\/segments, each of them having a seperate state ) 

\subsection{Member Function Documentation}
\index{Ki\-Track\-::\-Segment@{Ki\-Track\-::\-Segment}!get\-Info@{get\-Info}}
\index{get\-Info@{get\-Info}!KiTrack::Segment@{Ki\-Track\-::\-Segment}}
\subsubsection[{get\-Info}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string Segment\-::get\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classKiTrack_1_1Segment_a23cddfe6c53ebc08c678c83a2ec22c88}
\begin{DoxyReturn}{Returns}
infos about the segment 
\end{DoxyReturn}


Referenced by Ki\-Track\-::\-Segment\-Builder\-::get1\-Seg\-Automaton(), and Ki\-Track\-::\-Automaton\-::lengthen\-Segments().



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