\section{Ki\-Track\-:\-:Criteria Class Reference}
\label{classKiTrack_1_1Criteria}\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}}


Information about all \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria}.  




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

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std\-::set$<$ std\-::string $>$ {\bf get\-Types} ()
\item 
static std\-::set$<$ std\-::string $>$ {\bf get\-Criteria\-Names} (std\-::string type)
\item 
static std\-::set$<$ std\-::string $>$ {\bf get\-All\-Criteria\-Names} ()
\item 
static std\-::vector$<$ std\-::string $>$ {\bf get\-All\-Criteria\-Names\-Vec} ()
\begin{DoxyCompactList}\small\item\em A convenience method to get all the criteria in a vector (gives the same result as get\-All\-Criteria\-Names, but instead of a set, returns it as a vector) \end{DoxyCompactList}\item 
static {\bf I\-Criterion} $\ast$ {\bf create\-Criterion} (std\-::string crit\-Name, float min=0., float max=0.)  throw (\-Unknown\-Criterion)
\begin{DoxyCompactList}\small\item\em Creates a Criterion with the name and the min and max values. \end{DoxyCompactList}\item 
static void {\bf get\-Left\-Right} (std\-::string crit\-Name, float \&left, float \&right)
\begin{DoxyCompactList}\small\item\em Sets values for the passed referneced floats left and right. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Information about all \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria}. 

For example bundles the includes.

Author\-: Robin Glattauer, H\-E\-P\-H\-Y 

\subsection{Member Function Documentation}
\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!create\-Criterion@{create\-Criterion}}
\index{create\-Criterion@{create\-Criterion}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{create\-Criterion}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-Criterion} $\ast$ Criteria\-::create\-Criterion (
\begin{DoxyParamCaption}
\item[{std\-::string}]{crit\-Name, }
\item[{float}]{min = {\ttfamily 0.}, }
\item[{float}]{max = {\ttfamily 0.}}
\end{DoxyParamCaption}
) throw  {\bf Unknown\-Criterion}) \hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_aa54aa5efd4e99a22055cad3246e80487}


Creates a Criterion with the name and the min and max values. 

\begin{DoxyReturn}{Returns}
a \char`\"{}new\char`\"{} Criterion (i.\-e. needs to be deleted later on) 
\end{DoxyReturn}


Referenced by get\-Criteria\-Names(), and get\-Types().

\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!get\-All\-Criteria\-Names@{get\-All\-Criteria\-Names}}
\index{get\-All\-Criteria\-Names@{get\-All\-Criteria\-Names}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{get\-All\-Criteria\-Names}]{\setlength{\rightskip}{0pt plus 5cm}std\-::set$<$ std\-::string $>$ Criteria\-::get\-All\-Criteria\-Names (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_a24bbcc81e433e768f5d3301141599529}
\begin{DoxyReturn}{Returns}
the names of all \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria} in a set 
\end{DoxyReturn}


Referenced by get\-All\-Criteria\-Names\-Vec(), get\-Criteria\-Names(), and get\-Types().

\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!get\-All\-Criteria\-Names\-Vec@{get\-All\-Criteria\-Names\-Vec}}
\index{get\-All\-Criteria\-Names\-Vec@{get\-All\-Criteria\-Names\-Vec}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{get\-All\-Criteria\-Names\-Vec}]{\setlength{\rightskip}{0pt plus 5cm}std\-::vector$<$ std\-::string $>$ Criteria\-::get\-All\-Criteria\-Names\-Vec (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_a13515f60e4a0474abd948cb46ab059d3}


A convenience method to get all the criteria in a vector (gives the same result as get\-All\-Criteria\-Names, but instead of a set, returns it as a vector) 

\begin{DoxyReturn}{Returns}
the names of all \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria} in a vector 
\end{DoxyReturn}


References get\-All\-Criteria\-Names().

\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!get\-Criteria\-Names@{get\-Criteria\-Names}}
\index{get\-Criteria\-Names@{get\-Criteria\-Names}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{get\-Criteria\-Names}]{\setlength{\rightskip}{0pt plus 5cm}std\-::set$<$ std\-::string $>$ Criteria\-::get\-Criteria\-Names (
\begin{DoxyParamCaption}
\item[{std\-::string}]{type}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_a7a78ef4e6f478806a2bd625303d98fd7}
\begin{DoxyReturn}{Returns}
a vector of all \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria} of a certain type
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em type} & the type of \doxyref{Criteria}{p.}{classKiTrack_1_1Criteria}, that is wanted (e.\-g. \char`\"{}2\-Hit\char`\"{}) \\
\hline
\end{DoxyParams}


References create\-Criterion(), get\-All\-Criteria\-Names(), and Ki\-Track\-::\-I\-Criterion\-::get\-Type().

\index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!get\-Left\-Right@{get\-Left\-Right}}
\index{get\-Left\-Right@{get\-Left\-Right}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{get\-Left\-Right}]{\setlength{\rightskip}{0pt plus 5cm}void Criteria\-::get\-Left\-Right (
\begin{DoxyParamCaption}
\item[{std\-::string}]{crit\-Name, }
\item[{float \&}]{left, }
\item[{float \&}]{right}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_aec553072d8c9ecf59fcd986c325eb8e8}


Sets values for the passed referneced floats left and right. 

They indicate how the specified criterion should be cut, if necessary. Say you want for example a 99\% quantile, so that 99\% of your true tracks are within it. A criterion like the angle between two segments then needs to define a boarder like\-: between an angle of 1° and of 9° there will be 99\%. So 1\% is outside. But should 1\% be the ones with a bigger angle or with a smaller angle or should this be 50\-:50?

This is defined by left and right. Left is the proportion, that is taken away on the left side and right is the one that is taken away on the right side. In the case of an angle we will most probably have lots around 0° and a long tail to the right, so left = 0 and right = 1 seems like a good idea. Standard is of course 0.\-5 and 0.\-5 \index{Ki\-Track\-::\-Criteria@{Ki\-Track\-::\-Criteria}!get\-Types@{get\-Types}}
\index{get\-Types@{get\-Types}!KiTrack::Criteria@{Ki\-Track\-::\-Criteria}}
\subsubsection[{get\-Types}]{\setlength{\rightskip}{0pt plus 5cm}std\-::set$<$ std\-::string $>$ Criteria\-::get\-Types (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classKiTrack_1_1Criteria_adf87439ce69c6866a5aff75833fadc4d}
\begin{DoxyReturn}{Returns}
a vector of strings that represent all types of criteria stored. For example\-: \char`\"{}2\-Hit\char`\"{} or \char`\"{}3\-Hit\char`\"{} or \char`\"{}4\-Hit\char`\"{} 
\end{DoxyReturn}


References create\-Criterion(), get\-All\-Criteria\-Names(), and Ki\-Track\-::\-I\-Criterion\-::get\-Type().



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