\section{marlintpc\-:\-:Time\-Pix\-Hit\-Center\-Calculator\-Processor Class Reference}
\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}


calculates the center of gravity of each cluster, weighted by charge information.  




{\ttfamily \#include $<$Time\-Pix\-Hit\-Center\-Calculator\-Processor.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Time\-Pix\-Hit\-Center\-Calculator\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a747461fdd8a820f8e0047b611e446252}

\item 
virtual void {\bfseries init} ()\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a467eea456be3bde09e71d63599d06d43}

\item 
virtual void {\bfseries process\-Run\-Header} (lcio\-::\-L\-C\-Run\-Header $\ast$run)\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a7517e67baf6a8e9daccadabd108ae91b}

\item 
virtual void {\bfseries process\-Event} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_ac9e05a8d12f8f6f171b1c11842a796ab}

\item 
virtual void {\bfseries check} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a9fdcd955b9c4857a7e357966c0ae2f7a}

\item 
virtual void {\bfseries end} ()\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a71ca1a01eec71d6e9e54e5028967709d}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
int {\bfseries count\-Nr\-Of\-Neighboring\-Pixels\-With\-Hit} (int chip\-I\-D, int pixel\-I\-D, std\-::vector$<$ L\-C\-Object $\ast$ $>$ Data\-Vec)\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a0f22268ec7391e5790350e34d2faec58}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bf \-\_\-input\-Col\-Name}
\item 
std\-::string {\bf \-\_\-output\-Col\-Name}
\item 
std\-::string {\bf \-\_\-mode\-Map\-Col\-Name}
\item 
std\-::string {\bf \-\_\-mode\-Map\-Corr\-Name}
\item 
int {\bfseries \-\_\-max\-\_\-z\-Diffusion\-\_\-per\-Cluster}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a30d2743d44db415fb6fb38950e17425f}

\item 
double {\bf \-\_\-shutter}
\item 
double {\bf \-\_\-readout\-Frequency}
\item 
double {\bf \-\_\-drift\-Velocity}
\item 
bool {\bf \-\_\-multi\-Shutter}
\item 
bool {\bf \-\_\-keep\-Cluster\-Histo\-Flag}
\item 
int {\bfseries \-\_\-min\-Nr\-Of\-Pixels\-To\-Calc\-Time}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_aaf317cc9ac1092ce95775e86997faf0d}

\item 
int {\bfseries \-\_\-rms\-Cut}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a3fcab342c0509074a0b601889eca121b}

\item 
int {\bfseries \-\_\-output\-Is\-Transient}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a5ab24ed713e4e39d44c61ed2a63f0e97}

\item 
A\-I\-D\-A\-::\-I\-Histogram1\-D $\ast$ {\bf \-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning}
\item 
A\-I\-D\-A\-::\-I\-Histogram1\-D $\ast$ {\bf \-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning}
\item 
A\-I\-D\-A\-::\-I\-Histogram1\-D $\ast$ {\bf \-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning}
\item 
T\-H1\-F $\ast$ {\bf \-\_\-cluster\-Histo}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a71e35771b444f8c388db43d836f9f200}

\begin{DoxyCompactList}\small\item\em Root histo containing z Values of Pixels in a Cluster. \end{DoxyCompactList}\item 
tpcconddata\-::\-Time\-Pix\-Map $\ast$ {\bfseries \-\_\-time\-Pix\-Map}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a206222ce4abe8ef78c63d3b3260d677b}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
calculates the center of gravity of each cluster, weighted by charge information. 

\subparagraph*{Input -\/ Prerequisites}

a collection of Tracker\-Hits, position not set

\subparagraph*{Output}

Collection of Tracker\-Hits with the position and d\-Edx set.


\begin{DoxyParams}{Parameters}
{\em Input\-Collection\-Name} & Name of input collection, Tracker\-Hits without position \\
\hline
{\em Output\-Collection\-Name} & Name of output collection, Tracker\-Hits with position \\
\hline
{\em Mode\-Map\-Collection\-Name} & Name of mode map collection \\
\hline
{\em \-\_\-max\-\_\-z\-Diffusion\-\_\-per\-Cluster} & pixels further than \-\_\-max\-\_\-z\-Diffusion\-\_\-per\-Cluster [clock cycles] away from the mean cluster time are ignored during cluster center calculation \\
\hline
{\em Set\-Output\-Transient} & If not 0 the output collection is set transient \\
\hline
{\em n\-Column} & number of columns on the chip \\
\hline
{\em n\-Row} & number of rows on the chip \\
\hline
{\em pitch} & pitch of the pixel \\
\hline
{\em \-\_\-min\-Nr\-Of\-Pixels\-To\-Calc\-Time} & if there are less than \-\_\-min\-Nr\-Of\-Pixels\-To\-Calc\-Time with 4 or more neighbors with charge all time pixels are taken into account for mean time calculation \\
\hline
{\em \-\_\-keep\-Cluster\-Histo\-Flag} & decide whether you want to keep a histo of z-\/\-Distribution for each Cluster -\/ default is F\-A\-L\-S\-E \\
\hline
{\em rms\-Cut} & pixels further away in z than rms\-Cut $\ast$ R\-M\-Sof\-Distributon are ignorred for Meancalculation \\
\hline
{\em Set\-Output\-Transient} & If not 0 the output collection is set transient\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
Simone Zimmermann 
\end{DoxyAuthor}


\subsection{Member Data Documentation}
\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-drift\-Velocity@{\-\_\-drift\-Velocity}}
\index{\-\_\-drift\-Velocity@{\-\_\-drift\-Velocity}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-drift\-Velocity}]{\setlength{\rightskip}{0pt plus 5cm}double marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-drift\-Velocity\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_acb6eddee8f477c661bb7d313afcee2ca}

\begin{DoxyItemize}
\item drift velocity of gas in mm/us 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-input\-Col\-Name@{\-\_\-input\-Col\-Name}}
\index{\-\_\-input\-Col\-Name@{\-\_\-input\-Col\-Name}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-input\-Col\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-input\-Col\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_aa662759fdd1166566bece81fc465fee0}

\begin{DoxyItemize}
\item the name of the input collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-keep\-Cluster\-Histo\-Flag@{\-\_\-keep\-Cluster\-Histo\-Flag}}
\index{\-\_\-keep\-Cluster\-Histo\-Flag@{\-\_\-keep\-Cluster\-Histo\-Flag}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-keep\-Cluster\-Histo\-Flag}]{\setlength{\rightskip}{0pt plus 5cm}bool marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-keep\-Cluster\-Histo\-Flag\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a3b418052ae8538343d91e8fda8964c77}

\begin{DoxyItemize}
\item true if you want to keep a histo of the z-\/distribution of each cluster 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-mode\-Map\-Col\-Name@{\-\_\-mode\-Map\-Col\-Name}}
\index{\-\_\-mode\-Map\-Col\-Name@{\-\_\-mode\-Map\-Col\-Name}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-mode\-Map\-Col\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-mode\-Map\-Col\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_ac9c0b0709b0696f77611994e791c7ef5}

\begin{DoxyItemize}
\item the name of the mode map collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-mode\-Map\-Corr\-Name@{\-\_\-mode\-Map\-Corr\-Name}}
\index{\-\_\-mode\-Map\-Corr\-Name@{\-\_\-mode\-Map\-Corr\-Name}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-mode\-Map\-Corr\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-mode\-Map\-Corr\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a4ad25b5827b7ec766cc0e12639878857}

\begin{DoxyItemize}
\item the name of the correction to mode map collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-multi\-Shutter@{\-\_\-multi\-Shutter}}
\index{\-\_\-multi\-Shutter@{\-\_\-multi\-Shutter}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-multi\-Shutter}]{\setlength{\rightskip}{0pt plus 5cm}bool marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-multi\-Shutter\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a89d430b17f06e3088b8c7bae0e3cf2cf}

\begin{DoxyItemize}
\item true if multiple shutters are allowed during acquisition 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-output\-Col\-Name@{\-\_\-output\-Col\-Name}}
\index{\-\_\-output\-Col\-Name@{\-\_\-output\-Col\-Name}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-output\-Col\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-output\-Col\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_aaea0f5ed71d40a266c4e367241c4e846}

\begin{DoxyItemize}
\item the name of the output collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-readout\-Frequency@{\-\_\-readout\-Frequency}}
\index{\-\_\-readout\-Frequency@{\-\_\-readout\-Frequency}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-readout\-Frequency}]{\setlength{\rightskip}{0pt plus 5cm}double marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-readout\-Frequency\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a51736832b06bd0af3c2731ed83472739}

\begin{DoxyItemize}
\item readout frequency of Time\-Pix chip in M\-Hz, optional, should come from gear 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-shutter@{\-\_\-shutter}}
\index{\-\_\-shutter@{\-\_\-shutter}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-shutter}]{\setlength{\rightskip}{0pt plus 5cm}double marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-shutter\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_ada97d0a468279f306ed00ceb6352184c}

\begin{DoxyItemize}
\item length of shutter signal in us 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning@{\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning}}
\index{\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning@{\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Histogram1\-D$\ast$ marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-zcluster\-Center\-Before\-Minus\-After\-Cleaning\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a4ffa0eac92d860e3bc36a081ae3fb022}

\begin{DoxyItemize}
\item z shift of Clustercenter introduced by cutting on special Pixels 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning@{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning}}
\index{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning@{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Histogram1\-D$\ast$ marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_a86e07aaccd5a731ea7fd8d0f426ca88e}

\begin{DoxyItemize}
\item \-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-after\-Cleaning 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}!\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning@{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning}}
\index{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning@{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning}!marlintpc::TimePixHitCenterCalculatorProcessor@{marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor}}
\subsubsection[{\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning}]{\setlength{\rightskip}{0pt plus 5cm}A\-I\-D\-A\-::\-I\-Histogram1\-D$\ast$ marlintpc\-::\-Time\-Pix\-Hit\-Center\-Calculator\-Processor\-::\-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixHitCenterCalculatorProcessor_af6275d9b41e7ac9c5a7f15dcec122c10}

\begin{DoxyItemize}
\item \-\_\-z\-Distances\-Pixels\-In\-Clusters\-\_\-before\-Cleaning 
\end{DoxyItemize}

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Time\-Pix\-Hit\-Center\-Calculator\-Processor.\-h\item 
Time\-Pix\-Hit\-Center\-Calculator\-Processor.\-cc\end{DoxyCompactItemize}
