MarlinTPC
1.2.0
|
Processor to create primary ionisation from MCParticles passing the TPC. More...
#include <PrimaryIonisationProcessor.h>
Public Member Functions | |
virtual Processor * | newProcessor () |
virtual void | init () |
Called at the begin of the job before anything is read. | |
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 | SetParticleParameters (lcio::MCParticle *mcparticle) |
virtual void | InitializeTrackPoint () |
virtual void | CalculateNumberOfElectrons () |
virtual void | CalculateNumberOfClusters () |
virtual void | ReadEPerClusterInfoFile () |
virtual void | ReadClusterDensityFile () |
virtual void | CalculateTrackPointwithBfield () |
virtual void | CalculateTrackPointwithoutBfield () |
int | GetTotalNumberOfElectrons () |
virtual void | CalculateClusterDistance () |
virtual void | CalculateEnergyLoss () |
virtual void | RotateToTrack (double x, double y, double z) |
virtual void | RotateToDelta (double x, double y, double z) |
virtual void | MultipleScattering (double phi, double theta) |
virtual void | SetNextStartPoint () |
Protected Attributes | |
std::string | _inputCollectionName |
Name of input collection. | |
std::string | _outputCollectionName |
Name of output collection. | |
std::string | clusterdensityfile |
File with parametrisation of cluster density. | |
std::string | eperclusterfile |
File with parametrisation of electrons per cluster. | |
int | _nRun |
int | _nEvt |
float | _TPCRadius |
Outer radius of the TPC. | |
float | _TPCInnerRadius |
Inner radius of the TPC. | |
float | _BField |
Magnetic field strength. | |
float | _distance |
int | _transient |
bool | _groupElectrons |
int | Curler |
For full simulation of Curler set to 0, otherwise standard 1 means simplified treatment of low momentum particles. | |
double | aheed [8] |
Fitparameters for calculation of # clusters from Parameterisation from HEED. More... | |
int | numberofelectrons |
double | numberofclusters |
double | clusterdistance |
std::vector< double > | clusterelectrons [2] |
For calculation of # electrons per cluster from Parameterisation from HEED. | |
double | _clusterprobcutoff |
int | InTPC |
double | xa |
double | ya |
double | za |
double | xv |
double | yv |
double | zv |
double | xend |
double | yend |
double | zend |
double | tend |
double | x_e |
double | y_e |
double | z_e |
double | t_e |
double | dx |
double | dy |
double | dz |
double | dr |
double | dp |
double | px |
double | py |
double | pz |
double | pt |
double | p |
double | p_const |
double | energy |
double | mass |
double | charge |
int | pdg |
double | delta_x |
double | delta_y |
double | delta_z |
Processor to create primary ionisation from MCParticles passing the TPC.
Collection of MCParticles
Collection of SimTrackerHits
InputCollectionName | Name of input collection, MCParticles |
OutputCollectionName | Name of output collection, SimTrackerHits |
Transient | If not 0 the output collection is set transient |
OutputType | If not 0 all ions in the TPC are returned |
FullCurler | Switch detailed treatment of curlers on or off |
ClusterInfo | Path to file containing information on ionisation clusters (#e- in cluster) |
ClusterProbCutoff | (optional) For ClusterInfo file: set this to a value (very) slightly smaller than where the integrated probability is cut off |
ClusterDensityFile | (optional) Use user-defined file with heed parametrisation of the cluster density |
GroupElectrons | Flag whether to group electrons at the same position to a single hit, default: false WARNING: Turning on the GroupElectrons flag currently breaks the default digitisation chain (DriftProcessor and GEMProcessor). It only works with the MokkaToVoxelProcessor. |
|
virtual |
distributes number of electrons randomly along track segment.
Referenced by processEvent().
|
virtual |
|
virtual |
Determines number of electrons on track segment using parametrisation obtained with HEED.
References clusterelectrons.
Referenced by processEvent().
|
virtual |
|
virtual |
Calculates end point of track segment without magnetic field.
References dx, px, xa, and xend.
Referenced by processEvent().
|
virtual |
Calculates parameters for helix like radius, so tracks can be curled if magnetic field is present.
Referenced by processEvent().
|
virtual |
|
virtual |
Rotation for delta rays.
Referenced by MultipleScattering().
|
virtual |
|
virtual |
Reads in values from generator particle needed for track, like vertex, energy, momentum etc.
Referenced by processEvent().
|
protected |
Fitparameters for calculation of # clusters from Parameterisation from HEED.
Random generator for landau and gaussian.
Referenced by init().
|
protected |
Scale factor for radius in case of dE/dx.
Referenced by CalculateEnergyLoss(), CalculateTrackPointwithBfield(), init(), and processEvent().
|
protected |
Length of track segment.
Referenced by CalculateTrackPointwithoutBfield(), and init().
|
protected |
#e- in one event
Referenced by init(), and processEvent().
|
protected |
Particle impulses.
Referenced by CalculateTrackPointwithBfield(), CalculateTrackPointwithoutBfield(), init(), processEvent(), RotateToTrack(), and SetParticleParameters().
|
protected |
e- coordinate on track segment.
|
protected |
Start point of track segment.
Referenced by CalculateTrackPointwithBfield(), CalculateTrackPointwithoutBfield(), init(), and InitializeTrackPoint().
|
protected |
End point of track segment.
Referenced by CalculateTrackPointwithBfield(), CalculateTrackPointwithoutBfield(), init(), InitializeTrackPoint(), and processEvent().
|
protected |
Vertex of particle.
Referenced by init(), processEvent(), and SetParticleParameters().