\section{marlintpc\-:\-:T\-P\-C\-Hit\-Map Class Reference}
\label{classmarlintpc_1_1TPCHitMap}\index{marlintpc\-::\-T\-P\-C\-Hit\-Map@{marlintpc\-::\-T\-P\-C\-Hit\-Map}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bfseries T\-P\-C\-Hit\-Map} (gear\-::\-T\-P\-C\-Parameters const $\ast$tpc\-Parameters, kaldet\-::\-Gear\-T\-P\-C\-Kal\-Detector const $\ast$det, std\-::string modules\-Not\-Used=std\-::string(\char`\"{}-\/1\char`\"{}))\label{classmarlintpc_1_1TPCHitMap_af73ebd2e40a4835ea4aad813f75c34dd}

\item 
void {\bf fill\-Event\-Hits} (E\-V\-E\-N\-T\-::\-L\-C\-Collection const $\ast$input\-Hits)
\begin{DoxyCompactList}\small\item\em Fill hits to this data container and arrange them by module and row. \end{DoxyCompactList}\item 
void {\bf remove\-Hits} (std\-::vector$<$ {\bf Module\-Row\-Hit} $>$ \&hitlist)\label{classmarlintpc_1_1TPCHitMap_aa7f61faff47ae63cb56110e12d539aa7}

\begin{DoxyCompactList}\small\item\em Remove hits from the container and empties the input hit list as the Module\-Row\-Hits in it are invalidated. \end{DoxyCompactList}\item 
void {\bf remove\-Hit} ({\bf Module\-Row\-Hit} hit)\label{classmarlintpc_1_1TPCHitMap_ae5e3a298a54d98559c8d52262a66a2c1}

\begin{DoxyCompactList}\small\item\em Remove a hit from the container. \end{DoxyCompactList}\item 
void {\bf clear} ()\label{classmarlintpc_1_1TPCHitMap_a40579515e30ff731ed2c7940f0f68d66}

\begin{DoxyCompactList}\small\item\em Clear all hits. \end{DoxyCompactList}\item 
size\-\_\-t {\bf size} () const \label{classmarlintpc_1_1TPCHitMap_a86d8d279168aa2933debb7df1f458d05}

\begin{DoxyCompactList}\small\item\em Get hit size of container. \end{DoxyCompactList}\item 
{\bf Module\-Row\-Hit} {\bf get\-First\-Hit} (int mode=0)\label{classmarlintpc_1_1TPCHitMap_ad39cc43275137bac03a9404e9dffd88a}

\begin{DoxyCompactList}\small\item\em Get the first hit from the container. \end{DoxyCompactList}\item 
bool {\bf is\-Empty} () const \label{classmarlintpc_1_1TPCHitMap_ac91d107b8584da614def6f4682b62c21}

\begin{DoxyCompactList}\small\item\em Check if the container is empty. \end{DoxyCompactList}\item 
std\-::list$<$ {\bf Module\-Row\-Hit} $>$ {\bf get\-Hits\-In\-Domain} (std\-::set$<$ Module\-Row $>$ const \&module\-Rows\-In\-Domain)\label{classmarlintpc_1_1TPCHitMap_af167e597f032de28ed7966b0457956dd}

\begin{DoxyCompactList}\small\item\em Get Hits from a T\-P\-C domain. \end{DoxyCompactList}\item 
{\bf Module\-Row\-Hit} {\bfseries get\-Hit\-In\-Domain} (std\-::set$<$ Module\-Row $>$ const \&module\-Rows\-In\-Domain, {\bf Module\-Row\-Hit} hit)\label{classmarlintpc_1_1TPCHitMap_a228429eeccdf3011f2141a9aceb8ac66}

\item 
std\-::list$<$ Module\-Row $>$ {\bf get\-Active\-Module\-Rows} ()\label{classmarlintpc_1_1TPCHitMap_a8159e413ffc33d8df38020a50e7d325e}

\begin{DoxyCompactList}\small\item\em Get a list of all the module/rows pairs which have at least one hit. \end{DoxyCompactList}\item 
std\-::set$<$ {\bf Marlin\-T\-P\-C\-Hit} $>$ const \& {\bf get\-Hits\-In\-Module\-Row} (int module, int row)
\begin{DoxyCompactList}\small\item\em Get all hits in one module\-Row. \end{DoxyCompactList}\item 
void {\bf set\-Hit\-Used} (const {\bf Module\-Row\-Hit} \&hit, bool used=true)\label{classmarlintpc_1_1TPCHitMap_a5135d7df81682e200927fe26687ebf21}

\begin{DoxyCompactList}\small\item\em Set the used flag in the hits container. \end{DoxyCompactList}\item 
int {\bfseries get\-Layer\-Index} (int module, int row)\label{classmarlintpc_1_1TPCHitMap_a8c61e06542f37a5d916a4ed96ee2c780}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static double {\bfseries get\-Hits\-Distance} ({\bf Module\-Row\-Hit} \&hit1, {\bf Module\-Row\-Hit} \&hit2)\label{classmarlintpc_1_1TPCHitMap_af4780d9073b6f7ad704b41442869be6a}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
Hit\-Container {\bf \-\_\-hit\-Container}\label{classmarlintpc_1_1TPCHitMap_ad8a14b68a7510ace99f2c485c1419d36}

\begin{DoxyCompactList}\small\item\em The hits container. \end{DoxyCompactList}\item 
std\-::map$<$ int, std\-::set\\*
$<$ Module\-Row $>$ $>$ {\bfseries \-\_\-index\-Module\-Row}\label{classmarlintpc_1_1TPCHitMap_a5e3ee6713e82a602e72e6b77984fc3e9}

\item 
gear\-::\-T\-P\-C\-Parameters const $\ast$ {\bfseries \-\_\-tpc\-Parameters}\label{classmarlintpc_1_1TPCHitMap_a85682349fd7c70075f209737fa033aac}

\item 
size\-\_\-t {\bf \-\_\-n\-Hits}\label{classmarlintpc_1_1TPCHitMap_a76a2666cab28baf731c5bc92522ce48e}

\begin{DoxyCompactList}\small\item\em The total number of hits currently stored in the container. \end{DoxyCompactList}\item 
kaldet\-::\-Gear\-T\-P\-C\-Kal\-Detector const $\ast$ {\bfseries \-\_\-kal\-Detector}\label{classmarlintpc_1_1TPCHitMap_a054557655cdf73cee9e683f1aa785476}

\item 
std\-::set$<$ int $>$ {\bfseries \-\_\-modules\-Not\-Used\-Set}\label{classmarlintpc_1_1TPCHitMap_afc0f9d201e1d708c2650a7b4c90f4747}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-T\-P\-C\-Hit\-Map@{marlintpc\-::\-T\-P\-C\-Hit\-Map}!fill\-Event\-Hits@{fill\-Event\-Hits}}
\index{fill\-Event\-Hits@{fill\-Event\-Hits}!marlintpc::TPCHitMap@{marlintpc\-::\-T\-P\-C\-Hit\-Map}}
\subsubsection[{fill\-Event\-Hits}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-T\-P\-C\-Hit\-Map\-::fill\-Event\-Hits (
\begin{DoxyParamCaption}
\item[{E\-V\-E\-N\-T\-::\-L\-C\-Collection const $\ast$}]{input\-Hits}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1TPCHitMap_a15b6fe7e849b25fb6927f1b275d8cd77}


Fill hits to this data container and arrange them by module and row. 

In case a hit is not inside a module or on a pad it is ignored, but a warning is printed. For reconstructed data this should never happen, but when directly simulating 3\-D hit they might be in an insensitive area. We just filter them here. If we would throw and excetion (the better way for reconstructed data, because this should not happen) we would force simulations to filter the hits in insensitive areas before filling the hit map, which would break current code. \index{marlintpc\-::\-T\-P\-C\-Hit\-Map@{marlintpc\-::\-T\-P\-C\-Hit\-Map}!get\-Hits\-In\-Module\-Row@{get\-Hits\-In\-Module\-Row}}
\index{get\-Hits\-In\-Module\-Row@{get\-Hits\-In\-Module\-Row}!marlintpc::TPCHitMap@{marlintpc\-::\-T\-P\-C\-Hit\-Map}}
\subsubsection[{get\-Hits\-In\-Module\-Row}]{\setlength{\rightskip}{0pt plus 5cm}std\-::set$<$ {\bf Marlin\-T\-P\-C\-Hit} $>$ const\& marlintpc\-::\-T\-P\-C\-Hit\-Map\-::get\-Hits\-In\-Module\-Row (
\begin{DoxyParamCaption}
\item[{int}]{module, }
\item[{int}]{row}
\end{DoxyParamCaption}
)}\label{classmarlintpc_1_1TPCHitMap_aa1247602ce8a17a90fbf04319b53740a}


Get all hits in one module\-Row. 

Throws an exception if there are no hits on the modle\-Row. 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
T\-P\-C\-Hit\-Map.\-h\end{DoxyCompactItemize}
