\section{marlintpc\-:\-:Mokka\-To\-Voxel\-Processor Class Reference}
\label{classmarlintpc_1_1MokkaToVoxelProcessor}\index{marlintpc\-::\-Mokka\-To\-Voxel\-Processor@{marlintpc\-::\-Mokka\-To\-Voxel\-Processor}}


The \doxyref{Mokka\-To\-Voxel\-Processor}{p.}{classmarlintpc_1_1MokkaToVoxelProcessor} is a fast digitisation processor.  




{\ttfamily \#include $<$Mokka\-To\-Voxel\-Processor.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Mokka\-To\-Voxel\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1MokkaToVoxelProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classmarlintpc_1_1MokkaToVoxelProcessor_a2b9d84b388e761e338a1cf921fb86814}

\item 
{\bf Mokka\-To\-Voxel\-Processor} ()\label{classmarlintpc_1_1MokkaToVoxelProcessor_af5fee869e70004d531a747d369e0c904}

\begin{DoxyCompactList}\small\item\em C'tor. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Mokka\-To\-Voxel\-Processor} ()\label{classmarlintpc_1_1MokkaToVoxelProcessor_afc40201762c7159b6998ee2584881b42}

\begin{DoxyCompactList}\small\item\em D'tor. \end{DoxyCompactList}\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_1MokkaToVoxelProcessor_a3cc304d804d16b549b8da4518c079e0a}

\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_1MokkaToVoxelProcessor_a30d2816bc56a790190513e63c6bb6175}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ the working horse. \end{DoxyCompactList}\item 
virtual void {\bfseries check} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1MokkaToVoxelProcessor_a09f940ed23d7948a8d441bebf88051c1}

\item 
virtual void {\bf end} ()\label{classmarlintpc_1_1MokkaToVoxelProcessor_a936763850f0861b4233ae083e9f031bf}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bf \-\_\-input\-Collection\-Name}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a13e6c908a0f0d2c3130e8acddad1b732}

\begin{DoxyCompactList}\small\item\em Name of input collection. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-output\-Collection\-Name}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a03347fa8c673647310dd1e393a5d4c66}

\begin{DoxyCompactList}\small\item\em Name of output collection. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-negative\-Output\-Collection\-Name}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a6bc2fe2222adb1bf96693a44c8def796}

\begin{DoxyCompactList}\small\item\em Name of output collection for the negative half T\-P\-C. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-conditions\-Col\-Name}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a038b573ea548ae586ceba24afa4a516b}

\begin{DoxyCompactList}\small\item\em Name of collection with conditions data. \end{DoxyCompactList}\item 
{\bf marlintpc\-::\-Voxel\-T\-P\-C} $\ast$ {\bfseries \-\_\-\-Mokka\-Hits\-In\-Voxel\-T\-P\-C\-\_\-positive}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a06d647cd03ccc52b5680e8d6bc0eb02e}

\item 
{\bf marlintpc\-::\-Voxel\-T\-P\-C} $\ast$ {\bfseries \-\_\-\-Mokka\-Hits\-In\-Voxel\-T\-P\-C\-\_\-negative}\label{classmarlintpc_1_1MokkaToVoxelProcessor_ade8f1412df8e331a390791b76cdaada9}

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

\item 
int {\bf \-\_\-transient}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a9b3334683990bb1045fe36aaecaf544b}

\begin{DoxyCompactList}\small\item\em If not 0 output collection is set transient. \end{DoxyCompactList}\item 
double {\bf \-\_\-ionisation\-Energy}\label{classmarlintpc_1_1MokkaToVoxelProcessor_ae1d3d87c401d6dcff57b5d201a8f29f9}

\begin{DoxyCompactList}\small\item\em Ionisation energy of the gas. \end{DoxyCompactList}\item 
double {\bf \-\_\-readout\-Frequency}\label{classmarlintpc_1_1MokkaToVoxelProcessor_ace93015bc344ea6d756806e35bfb5371}

\begin{DoxyCompactList}\small\item\em Frequency of the readout electronics. \end{DoxyCompactList}\item 
double {\bf \-\_\-amplification}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a2cd8b2576de2b5d074287b06781f97a3}

\begin{DoxyCompactList}\small\item\em Total amplification of primary electrons. \end{DoxyCompactList}\item 
double {\bf \-\_\-diff\-Trans}\label{classmarlintpc_1_1MokkaToVoxelProcessor_ace3a9b7a05d4a951fe8b5302dd08af5c}

\begin{DoxyCompactList}\small\item\em Transversal diffusion coefficient, comes from T\-P\-C\-Conditions or as processor parameter. \end{DoxyCompactList}\item 
double {\bf \-\_\-diff\-Long}\label{classmarlintpc_1_1MokkaToVoxelProcessor_aebd15347a2c7fa579672597115615594}

\begin{DoxyCompactList}\small\item\em Longitudinal diffusion coefficient, comes from T\-P\-C\-Conditions or as processor parameter. \end{DoxyCompactList}\item 
double {\bf \-\_\-defocus\-Trans}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a501a31a12a9f87f31bdfc6b0298f3a7c}

\begin{DoxyCompactList}\small\item\em Transversal defocussing, comes from T\-P\-C\-Conditions or as processor parameter. \end{DoxyCompactList}\item 
double {\bf \-\_\-v\-Drift}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a474e1dead495ac9da0e54c0f9787249a}

\begin{DoxyCompactList}\small\item\em Electron drift velocity, comes from T\-P\-C\-Conditions or as processor parameter. \end{DoxyCompactList}\item 
double {\bf \-\_\-sigma\-Electronics}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a5f4b2aa5a04f78df3705d9ff1c29c83d}

\begin{DoxyCompactList}\small\item\em Charge broadening due to electronics shaping, which is assumed to be Gaussian. \end{DoxyCompactList}\item 
double {\bf \-\_\-z\-Anode}\label{classmarlintpc_1_1MokkaToVoxelProcessor_a38f2cd18b7c3a3c66209c5290091e72a}

\begin{DoxyCompactList}\small\item\em The z position of the anode (edge of the readout terminating the drift volume) \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The \doxyref{Mokka\-To\-Voxel\-Processor}{p.}{classmarlintpc_1_1MokkaToVoxelProcessor} is a fast digitisation processor. 

It takes hits from Mokka simulations for input and does the whole digitisation in the T\-P\-C in one step. The energy deposition of the Mokka hit is transformed into the corresponding charge. The charge is then multiplied by a user given amplification factor. The broadening of the amplified charges is calculated from transverse diffusion and transverse defocussing. The time binning of the T\-P\-C\-Voxels is done by the frequency of the readout electronics. The broadening of the charge in longitudinal direction is done by the longitudinal diffusion and width of the electronics shaping, which is assumed to be gaussian. No event overlay is done.

\subparagraph*{Input -\/ Prerequisites}

\begin{DoxyItemize}
\item A Collection of Sim\-Tracker\-Hits (from Mokka) \item G\-E\-A\-R T\-P\-C\-Parameters with a pad layout and maximum drift length \item \doxyref{tpcconddata\-::\-T\-P\-C\-Conditions}{p.}{classtpcconddata_1_1TPCConditions} for the drift velocity, transverse diffusion and transverse defocussing\end{DoxyItemize}
\subparagraph*{Output}

A collection of \doxyref{T\-P\-C\-Voxel}{p.}{classmarlintpc_1_1TPCVoxel} which contain charges detected on the corresponding pad at the corresponding time


\begin{DoxyParams}{Parameters}
{\em Input\-Collection\-Name} & Name of input Sim\-Tracker\-Hit collection (default\-: Mokka\-Hits) \\
\hline
{\em Output\-Collection\-Name} & Name of output \doxyref{T\-P\-C\-Voxel}{p.}{classmarlintpc_1_1TPCVoxel} collection (default\-: Mokka\-Hits\-In\-Voxels) \\
\hline
{\em T\-P\-C\-Conditions\-Collection} & Name of the input collection containing the T\-P\-C conditions data (default\-: T\-P\-C\-Conditions\-::get\-Default\-Col\-Name()) \\
\hline
{\em Transient} & If not 0 the output collection is set transient (default\-: 0) \\
\hline
{\em Readout\-Frequency} & Frequency of readout electronics in [M\-Hz] (default\-: 40) \\
\hline
{\em Amplification} & Total amplification factor of primary electrons (default\-: 1) \\
\hline
{\em Ionisation\-Energy} & Mean ionisation energy of the chambers gas in [Ge\-V] (default\-: 26\-E-\/9 (argon)) \\
\hline
{\em Sigma\-Electronics} & Width of the electronics shaping, which is assumed to be gaussian (default\-: 0)\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
Thorsten Krautscheid, University of Bonn 

Martin Killenberg, C\-E\-R\-N 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Mokka\-To\-Voxel\-Processor@{marlintpc\-::\-Mokka\-To\-Voxel\-Processor}!init@{init}}
\index{init@{init}!marlintpc::MokkaToVoxelProcessor@{marlintpc\-::\-Mokka\-To\-Voxel\-Processor}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Mokka\-To\-Voxel\-Processor\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1MokkaToVoxelProcessor_ac76360f5cc07db6a18ee25d5c40765a7}


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

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

References \-\_\-readout\-Frequency, and \-\_\-z\-Anode.



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