\section{marlintpc\-:\-:Time\-Pix\-Calibration\-Processor Class Reference}
\label{classmarlintpc_1_1TimePixCalibrationProcessor}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}


Calibration data converting Processor of the Marlin\-T\-P\-C package .  




{\ttfamily \#include $<$Time\-Pix\-Calibration\-Processor.\-h$>$}

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

\item 
void {\bfseries init} ()\label{classmarlintpc_1_1TimePixCalibrationProcessor_ab06709bc01fecd3f98b8a6a7f1d0dfcb}

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

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

\item 
void {\bfseries end} ()\label{classmarlintpc_1_1TimePixCalibrationProcessor_a62d608f575230f833381f1b1ec4157ef}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void {\bf create\-Input\-Pixel\-Map} (L\-C\-Collection $\ast$in\-Col)\label{classmarlintpc_1_1TimePixCalibrationProcessor_a176fa57df59996445107d14f57c0a5c2}

\begin{DoxyCompactList}\small\item\em Called to create input map with pixel values for the interpolation (needed for Time-\/\-Walk correction) \end{DoxyCompactList}\item 
float {\bf calibrate\-Time\-Pixel} (int chip\-I\-D, int pixel\-I\-D, float pixel\-Value)\label{classmarlintpc_1_1TimePixCalibrationProcessor_a751fb74ea3fb28a84bde7e0100a69472}

\begin{DoxyCompactList}\small\item\em Called to preform calibration on pixel in T\-I\-M\-E mode (correct for Clock distribution \& Time-\/\-Walk) \end{DoxyCompactList}\item 
float {\bf calibrate\-Charge\-Pixel} (int chip\-I\-D, float pixel\-Value)\label{classmarlintpc_1_1TimePixCalibrationProcessor_a6019650afcbf829c413b4512e6920959}

\begin{DoxyCompactList}\small\item\em Called to preform calibration on pixel in T\-O\-T mode (convert into electrons and add T\-H\-L offset) \end{DoxyCompactList}\item 
float {\bf interpolate\-Pixel\-Charge} (int chip\-I\-D, int pixel\-I\-D)\label{classmarlintpc_1_1TimePixCalibrationProcessor_a4209af958d1fb091f7b76473cd80c482}

\begin{DoxyCompactList}\small\item\em Called to interpolate charge for pixels in T\-I\-M\-E mode (by using surrounding pixels in T\-O\-T mode) \end{DoxyCompactList}\item 
float {\bfseries get\-Parameter} (int chip\-I\-D, int param)\label{classmarlintpc_1_1TimePixCalibrationProcessor_aef4f72b794936770402ab9fe87255341}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-input\-Map\-Histo0}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a4494b34fefdf6a1e191d197f8733d205}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-output\-Map\-Histo0}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a00aef69905dc2dde4ed20f857217c420}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-input\-Map\-Histo1}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a0d5019ae8e879e8f1c1ec569d09de2cf}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-output\-Map\-Histo1}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a689598294ddf7bac50d2090b481d853c}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-input\-Map\-Histo2}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a2891df20c387173ff4e07dd40b596233}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-output\-Map\-Histo2}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a90286ddb2af354c6b51ae583cd8096d7}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-input\-Map\-Histo3}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aa1b24ff32b95da85ce3c5aafcbfda19c}

\item 
A\-I\-D\-A\-::\-I\-Histogram2\-D $\ast$ {\bfseries \-\_\-output\-Map\-Histo3}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a29d02a83e8143b549721eea3770e718a}

\item 
std\-::string {\bf \-\_\-input\-Col\-Name}
\item 
std\-::string {\bf \-\_\-input\-Calibration\-Data}
\item 
std\-::string {\bf \-\_\-output\-Col\-Name}
\item 
std\-::string {\bf \-\_\-data\-File\-List}
\item 
std\-::ifstream {\bf \-\_\-infile}
\item 
int {\bf \-\_\-n\-Column}
\item 
int {\bf \-\_\-n\-Row}
\item 
int {\bf \-\_\-n\-Parameters}
\item 
int {\bf \-\_\-min\-No\-Pixel\-To\-Interpolate}
\item 
double {\bf \-\_\-v\-T\-H\-L}
\item 
bool {\bf \-\_\-output\-Is\-Transient}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aa6a37fc79ec7929569e735679d15dc8f}

\begin{DoxyCompactList}\small\item\em give the status which is set to the transient flag of the output collection \end{DoxyCompactList}\item 
int {\bf \-\_\-n\-Run}
\item 
int {\bf \-\_\-n\-Evt}
\item 
tpcconddata\-::\-Time\-Pix\-Map $\ast$ {\bf map}
\item 
std\-::map\\*
$<$ {\bf tpcconddata\-::\-Time\-Pix\-Pixel\-Mode\-::\-Pixel\-Key}, \\*
float $>$ {\bfseries in\-Map}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a50985eef698e862b4a66f78f9956422a}

\item 
bool {\bfseries \-\_\-is\-First\-Event}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a1f3ac1be2590216d87221838087959a0}

\item 
L\-C\-Collection $\ast$ {\bfseries \-\_\-v\-Calib}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a21657e5bde1422b0b051b036ae8735dd}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Calibration data converting Processor of the Marlin\-T\-P\-C package . 

modify and corrects the To\-T and Time pixel values with the chip calibration data

\subparagraph*{Input -\/ Prerequisites}

a collection of Tracker\-Data a collection of calibration parameters

\subparagraph*{Output}

Collection containing calibrated Tracker\-Data.


\begin{DoxyParams}{Parameters}
{\em Input\-Collection\-Name} & Name of Time\-Pix data collection \\
\hline
{\em Input\-Calibration\-Data} & Name of calibration parameters collection \\
\hline
{\em Output\-Collection\-Name} & Name of calibrated data collection \\
\hline
{\em N\-Row} & Number of rows on the chip, default 256 \\
\hline
{\em N\-Column} & Number of columns on the chip, default 256 \\
\hline
{\em N\-Parameters} & Number of calibration parameters per chip, default 8 \\
\hline
{\em Min\-No\-Pixel\-To\-Interpolate} & Minimum number of surrounding pixels needed to interpolate, default 2 \\
\hline
{\em V\-T\-H\-L} & Value of the T\-H\-L used for the data \\
\hline
{\em Set\-Output\-Transient} & If not 0 the output collection is set transient\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
R.\-Ulman, Bonn 

modified and corrected by C.\-Brezina 
\end{DoxyAuthor}


\subsection{Member Data Documentation}
\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-data\-File\-List@{\-\_\-data\-File\-List}}
\index{\-\_\-data\-File\-List@{\-\_\-data\-File\-List}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-data\-File\-List}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-data\-File\-List\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a76af9ebdbb8c4adf71fc0e73376ef349}

\begin{DoxyItemize}
\item name of input calibration parameters file list 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-infile@{\-\_\-infile}}
\index{\-\_\-infile@{\-\_\-infile}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-infile}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ifstream marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-infile\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aed0830a82cf1ea2634793bf4d7255417}

\begin{DoxyItemize}
\item input for calibration parameters 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-input\-Calibration\-Data@{\-\_\-input\-Calibration\-Data}}
\index{\-\_\-input\-Calibration\-Data@{\-\_\-input\-Calibration\-Data}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-input\-Calibration\-Data}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-input\-Calibration\-Data\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a80b6c9fcd718938cebb6711e25eace6e}

\begin{DoxyItemize}
\item the name of the calibration data collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-input\-Col\-Name@{\-\_\-input\-Col\-Name}}
\index{\-\_\-input\-Col\-Name@{\-\_\-input\-Col\-Name}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-input\-Col\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-input\-Col\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aa5fa211986b4941dec3e7a30d66aace0}

\begin{DoxyItemize}
\item the name of the input collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-min\-No\-Pixel\-To\-Interpolate@{\-\_\-min\-No\-Pixel\-To\-Interpolate}}
\index{\-\_\-min\-No\-Pixel\-To\-Interpolate@{\-\_\-min\-No\-Pixel\-To\-Interpolate}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-min\-No\-Pixel\-To\-Interpolate}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-min\-No\-Pixel\-To\-Interpolate\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a1aa79f797b8ff2dc2a4188c48904068a}

\begin{DoxyItemize}
\item minimum number of pixels needed to interpolate 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-n\-Column@{\-\_\-n\-Column}}
\index{\-\_\-n\-Column@{\-\_\-n\-Column}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-n\-Column}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-n\-Column\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a821ef0cebbec9f115da49e591ba59bbe}

\begin{DoxyItemize}
\item number of columns on the chip 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-n\-Evt@{\-\_\-n\-Evt}}
\index{\-\_\-n\-Evt@{\-\_\-n\-Evt}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-n\-Evt}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-n\-Evt\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aa9efecea2e8759c9abcafec92af47fda}

\begin{DoxyItemize}
\item counts the events processed 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-n\-Parameters@{\-\_\-n\-Parameters}}
\index{\-\_\-n\-Parameters@{\-\_\-n\-Parameters}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-n\-Parameters}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-n\-Parameters\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a9305a736c32689a8cc1472a48bcae397}

\begin{DoxyItemize}
\item number of parameters in calibration data per chip 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-n\-Row@{\-\_\-n\-Row}}
\index{\-\_\-n\-Row@{\-\_\-n\-Row}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-n\-Row}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-n\-Row\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_ada57a2fecaf3a3572733a96f07f06ba5}

\begin{DoxyItemize}
\item number of rows on the chip 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-n\-Run@{\-\_\-n\-Run}}
\index{\-\_\-n\-Run@{\-\_\-n\-Run}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-n\-Run}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-n\-Run\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a7833652e06fad77de9cf0583146c159f}

\begin{DoxyItemize}
\item counts the runs processed 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-output\-Col\-Name@{\-\_\-output\-Col\-Name}}
\index{\-\_\-output\-Col\-Name@{\-\_\-output\-Col\-Name}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-output\-Col\-Name}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-output\-Col\-Name\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_aed659c32d85c2ab9dec45c181ac37350}

\begin{DoxyItemize}
\item the name of the output collection 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!\-\_\-v\-T\-H\-L@{\-\_\-v\-T\-H\-L}}
\index{\-\_\-v\-T\-H\-L@{\-\_\-v\-T\-H\-L}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{\-\_\-v\-T\-H\-L}]{\setlength{\rightskip}{0pt plus 5cm}double marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::\-\_\-v\-T\-H\-L\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_ad5333d54b3b678bed4ea4032bdea8076}

\begin{DoxyItemize}
\item T\-H\-L value used for data, must be entered with value used in specific run 
\end{DoxyItemize}\index{marlintpc\-::\-Time\-Pix\-Calibration\-Processor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}!map@{map}}
\index{map@{map}!marlintpc::TimePixCalibrationProcessor@{marlintpc\-::\-Time\-Pix\-Calibration\-Processor}}
\subsubsection[{map}]{\setlength{\rightskip}{0pt plus 5cm}tpcconddata\-::\-Time\-Pix\-Map$\ast$ marlintpc\-::\-Time\-Pix\-Calibration\-Processor\-::map\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TimePixCalibrationProcessor_a0488cb154b8d02a3f36c28be33527502}

\begin{DoxyItemize}
\item input map needed for the interpolation function 
\end{DoxyItemize}

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