MarlinTPC
1.2.0
|
ElectronCloudDrifterProcessor : This processor takes a collection of electron clouds from a previous processor and drifts them a supplied distance. More...
#include <ElectronCloudDrifterProcessor.h>
Classes | |
struct | driftInfo |
Detailed information about the drift path. More... | |
struct | DriftParameters |
Public Member Functions | |
ElectronCloudDrifterProcessor () | |
constructor | |
~ElectronCloudDrifterProcessor () | |
destructor | |
virtual Processor * | newProcessor () |
used by Marlin to create a new processor | |
virtual void | init () |
Called at the begin of the job before anything is read. More... | |
virtual void | processRunHeader (lcio::LCRunHeader *run) |
Called for every run. | |
virtual void | processEvent (lcio::LCEvent *evt) |
Called for every event - the working horse. | |
virtual void | check (lcio::LCEvent *evt) |
Called after the event has been processed. | |
virtual void | end () |
Called after data processing for clean up. | |
Static Public Member Functions | |
static int | ion_drift_derivative (double t, const double y[], double f[], void *params) |
the derivative function used for the GSL ode solving function | |
static int | drift_through_cylinder (double(&)[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, marlintpc::ElectronCloudDrifterProcessor *processor=0) |
the static drifting function that can be used by other processors (ie the LikelihoodFitter) | |
Public Attributes | |
int | _current_cloud |
Number of the current cloud needed by AIDA. | |
ElectronCloudDrifterProcessor : 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.
If an AIDA processor is used the position, velocity,
,
and
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.
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.