<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\section{marlintpc\-:\-:Electron\-Cloud\-Drifter\-Processor Class Reference}
\label{classmarlintpc_1_1ElectronCloudDrifterProcessor}\index{marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor@{marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor}}


\doxyref{Electron\-Cloud\-Drifter\-Processor}{p.}{classmarlintpc_1_1ElectronCloudDrifterProcessor} \-: This processor takes a collection of electron clouds from a previous processor and drifts them a supplied distance.  




{\ttfamily \#include $&lt;$Electron\-Cloud\-Drifter\-Processor.\-h$&gt;$}

Inheritance diagram for marlintpc\-:\-:Electron\-Cloud\-Drifter\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1ElectronCloudDrifterProcessor}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct {\bf drift\-Info}
\begin{DoxyCompactList}\small\item\em Detailed information about the drift path. \end{DoxyCompactList}\item 
struct {\bf Drift\-Parameters}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Electron\-Cloud\-Drifter\-Processor} ()\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_aa6fd8d4cf6cd4d0956c3fd0ce48a9a48}

\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
{\bf $\sim$\-Electron\-Cloud\-Drifter\-Processor} ()\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_a03723207b4f4af5e8d795be512ea38f2}

\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual Processor $\ast$ {\bf new\-Processor} ()\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_a667456995f2b6078086eba7eb822b0be}

\begin{DoxyCompactList}\small\item\em used by Marlin to create a new processor \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_1ElectronCloudDrifterProcessor_a2bd673d918f56ae6c0fee47a0348b664}

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

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

\begin{DoxyCompactList}\small\item\em Called after the event has been processed. \end{DoxyCompactList}\item 
virtual void {\bf end} ()\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_a82f2526c455f7724acbeb7d0cee478f0}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static int {\bf ion\-\_\-drift\-\_\-derivative} (double t, const double y[$\,$], double f[$\,$], void $\ast$params)\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_ac154818b36d54a6b85672450f19428a6}

\begin{DoxyCompactList}\small\item\em the derivative function used for the G\-S\-L ode solving function \end{DoxyCompactList}\item 
static int {\bf drift\-\_\-through\-\_\-cylinder} (double(\&amp;)[4], const double min\-\_\-radius, const double max\-\_\-radius, const double min\-\_\-z, const double max\-\_\-z, const double drift\-\_\-velocity, const double omega\-\_\-tau, const bool disable\-\_\-magnetic\-\_\-field=false, {\bf marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor} $\ast$processor=0)\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_a366efc0f10f94b9e89b639a125991793}

\begin{DoxyCompactList}\small\item\em the static drifting function that can be used by other processors (ie the Likelihood\-Fitter) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int {\bf \-\_\-current\-\_\-cloud}\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_a02b854b3efbccbd9c5596475dd58b115}

\begin{DoxyCompactList}\small\item\em Number of the current cloud needed by A\-I\-D\-A. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\doxyref{Electron\-Cloud\-Drifter\-Processor}{p.}{classmarlintpc_1_1ElectronCloudDrifterProcessor} \-: This processor takes a collection of electron clouds from a previous processor and drifts them a supplied distance. 

The parameters of the processor are designed to specify the area in which the drift occurs. It currently uses a adaptive Runge-\/\-Kutta-\/\-Fehlberg method for drifting the electrons in a non-\/uniform magnetic field.

\begin{DoxyAuthor}{Author}
J. Abernathy (U\-Vic)\par

\end{DoxyAuthor}
If an A\-I\-D\-A processor is used the position, velocity, \[E_{z}\], \[B_{z}\] and \[B_{r}\] at each step of the drift are stored in a root tree. This is done for each cloud and each event. The number of clouds is taken from the first event, and therefore it is assumed that the number of clouds per event is constant.

\begin{DoxyAuthor}{Author}
K. Zenker (D\-E\-S\-Y)\par
 
\end{DoxyAuthor}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor@{marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor}!init@{init}}
\index{init@{init}!marlintpc::ElectronCloudDrifterProcessor@{marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Electron\-Cloud\-Drifter\-Processor\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1ElectronCloudDrifterProcessor_abbf1c89082855ea67bdf53e5a275634b}


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

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

The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Electron\-Cloud\-Drifter\-Processor.\-h\item 
Electron\-Cloud\-Drifter\-Processor.\-cc\end{DoxyCompactItemize}
</pre></body></html>