\section{marlintpc\-:\-:Ion\-Back\-Drift\-Processor Class Reference}
\label{classmarlintpc_1_1IonBackDriftProcessor}\index{marlintpc\-::\-Ion\-Back\-Drift\-Processor@{marlintpc\-::\-Ion\-Back\-Drift\-Processor}}


This processor takes the charges on the pads an calculates the amount of backdrifting ions which appear at the x,y-\/ position of the pad in the T\-P\-C.  




{\ttfamily \#include $<$Ion\-Back\-Drift\-Processor.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Ion\-Back\-Drift\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1IonBackDriftProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classmarlintpc_1_1IonBackDriftProcessor_aa0cc4769ca7b997ced52e6484f3dd8fa}

\item 
virtual void {\bf init} ()
\begin{DoxyCompactList}\small\item\em Called at the begin of the job before anything is read. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (lcio\-::\-L\-C\-Run\-Header $\ast$run)\label{classmarlintpc_1_1IonBackDriftProcessor_a14f49fd3cc1ccc460d491a3856d4776f}

\begin{DoxyCompactList}\small\item\em Called for every run. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1IonBackDriftProcessor_a2f0a517a4427af2b3ba1647da4bec967}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ the working horse. \end{DoxyCompactList}\item 
void {\bfseries Load\-G\-E\-M\-Settings} ()\label{classmarlintpc_1_1IonBackDriftProcessor_a1c64c1f62823f928b842bb4c4c5d5c0e}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bfseries \-\_\-input\-Collection\-Name}\label{classmarlintpc_1_1IonBackDriftProcessor_a1b61c973df4049645d4b82477863b1de}

\item 
std\-::string {\bfseries \-\_\-output\-Collection\-Name}\label{classmarlintpc_1_1IonBackDriftProcessor_acdea29e64974aaed80a168b8c249fb63}

\item 
std\-::string {\bf \-\_\-param\-File}\label{classmarlintpc_1_1IonBackDriftProcessor_ab0a0b584c2782a8df7df3404d4b13289}

\begin{DoxyCompactList}\small\item\em Name of the file with parametrisation of the G\-E\-M-\/stack. \end{DoxyCompactList}\item 
int {\bfseries \-\_\-transient}\label{classmarlintpc_1_1IonBackDriftProcessor_ac6ccb235a1b9ff7d7fd278a79d904895}

\item 
int {\bf \-\_\-output\-Type}\label{classmarlintpc_1_1IonBackDriftProcessor_aa4aa1aba559910aa1de9124871fa3737}

\begin{DoxyCompactList}\small\item\em Output type\-: event based or total. \end{DoxyCompactList}\item 
{\bf marlintpc\-::\-Voxel\-T\-P\-C} $\ast$ {\bfseries \-\_\-ion\-Disc}\label{classmarlintpc_1_1IonBackDriftProcessor_a9cd7aa865d74f81557ceed97ae382736}

\item 
gear\-::\-Pad\-Row\-Layout2\-D const $\ast$ {\bfseries \-\_\-pad\-Layout}\label{classmarlintpc_1_1IonBackDriftProcessor_aee0290a2ade865dc970385d9958783ba}

\item 
double {\bf \-\_\-z\-Bin\-Length}\label{classmarlintpc_1_1IonBackDriftProcessor_a48e82b680308e405bf4e51465d9eeae2}

\begin{DoxyCompactList}\small\item\em Length of the bins in z direction. \end{DoxyCompactList}\item 
int {\bfseries \-\_\-n\-Run}\label{classmarlintpc_1_1IonBackDriftProcessor_a02125fe082ba900f8a2735d0b63e471f}

\item 
int {\bfseries \-\_\-n\-Evt}\label{classmarlintpc_1_1IonBackDriftProcessor_afb6c44953a22cd5db62ae2eb1dd0ae24}

\item 
double {\bfseries \-\_\-ion\-Back\-Drift}\label{classmarlintpc_1_1IonBackDriftProcessor_ae60246f8b2fccedcf43d8bf21edf2897}

\item 
double {\bfseries \-\_\-\-E}\label{classmarlintpc_1_1IonBackDriftProcessor_a8c4a165c1b636a4df4c50ed986a53c93}

\item 
double {\bfseries \-\_\-\-E\-Trans1}\label{classmarlintpc_1_1IonBackDriftProcessor_a15a4aa8f04a9f13d79484cd5d60fdcdc}

\item 
double {\bfseries \-\_\-\-E\-Trans2}\label{classmarlintpc_1_1IonBackDriftProcessor_ae0d50ea7b712294483822b08b2727f5a}

\item 
double {\bf \-\_\-\-E\-Ind}\label{classmarlintpc_1_1IonBackDriftProcessor_ae22ab10ff67ddf3b3db62adc6f730d7c}

\begin{DoxyCompactList}\small\item\em Drift field, 1st, 2nd and 3th transfer field. \end{DoxyCompactList}\item 
double {\bfseries \-\_\-\-U\-G\-E\-M1}\label{classmarlintpc_1_1IonBackDriftProcessor_a83d0795e86173bb71caf40ed431c9348}

\item 
double {\bfseries \-\_\-\-U\-G\-E\-M2}\label{classmarlintpc_1_1IonBackDriftProcessor_a4916326e4064d9ceeb447384d466fb48}

\item 
double {\bf \-\_\-\-U\-G\-E\-M3}\label{classmarlintpc_1_1IonBackDriftProcessor_a2dcf0e5948f04244bef3a02a048fe3c5}

\begin{DoxyCompactList}\small\item\em G\-E\-M voltages. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This processor takes the charges on the pads an calculates the amount of backdrifting ions which appear at the x,y-\/ position of the pad in the T\-P\-C. 

\subparagraph*{Input -\/ Prerequisites}

Collection with T\-P\-C\-Voxels

\subparagraph*{Output}

Collection with T\-P\-C\-Voxels


\begin{DoxyParams}{Parameters}
{\em Input\-Collection\-Name} & Name of input collection, \doxyref{T\-P\-C\-Voxel}{p.}{classmarlintpc_1_1TPCVoxel} \\
\hline
{\em Output\-Collection\-Name} & Name of output collection, \doxyref{T\-P\-C\-Voxel}{p.}{classmarlintpc_1_1TPCVoxel} \\
\hline
{\em Transient} & If not 0 the output collection is set transient \\
\hline
{\em Output\-Type} & If not 0 all backdrifting ions in the T\-P\-C are returned \\
\hline
{\em Z\-Bin\-Length} & Length of the bins in z direction \\
\hline
{\em Drift\-Field} & Strength of the drift field in V/cm \\
\hline
{\em E\-Trans1} & Strength of the first transfer field in V/cm \\
\hline
{\em E\-Trans2} & Strength of the second transfer field in V/cm \\
\hline
{\em E\-Ind} & Strenght of the induction field in V/cm \\
\hline
{\em U\-G\-E\-M1} & Voltage on the first G\-E\-M in V \\
\hline
{\em U\-G\-E\-M2} & Voltage on the second G\-E\-M in V \\
\hline
{\em U\-G\-E\-M3} & Voltage on the thirst G\-E\-M in V \\
\hline
{\em Param\-File} & Name of file with G\-E\-M parameters\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
Thorsten Krautscheid 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Ion\-Back\-Drift\-Processor@{marlintpc\-::\-Ion\-Back\-Drift\-Processor}!init@{init}}
\index{init@{init}!marlintpc::IonBackDriftProcessor@{marlintpc\-::\-Ion\-Back\-Drift\-Processor}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Ion\-Back\-Drift\-Processor\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1IonBackDriftProcessor_a851689b42e9e84d7180e74f20e9a4729}


Called at the begin of the job before anything is read. 

Use to initialize the processor, e.\-g. book histograms. 

References \-\_\-z\-Bin\-Length.



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