1 #ifndef PrimaryIonisationProcessor_h
2 #define PrimaryIonisationProcessor_h 1
5 #include <EVENT/MCParticle.h>
9 #include "marlin/Processor.h"
82 virtual void CalculateNumberOfClusters();
83 virtual void ReadEPerClusterInfoFile();
84 virtual void ReadClusterDensityFile();
91 int GetTotalNumberOfElectrons(){
return InTPC;}
107 virtual void SetNextStartPoint();
134 bool _groupElectrons;
146 int numberofelectrons;
147 double numberofclusters;
148 double clusterdistance;
153 double _clusterprobcutoff;
174 double px,py,pz,pt,p,p_const;
179 double delta_x,delta_y,delta_z;
Processor to create primary ionisation from MCParticles passing the TPC.
Definition: PrimaryIonisationProcessor.h:51
float _TPCRadius
Outer radius of the TPC.
Definition: PrimaryIonisationProcessor.h:127
double dp
Definition: PrimaryIonisationProcessor.h:170
virtual void CalculateEnergyLoss()
Definition: PrimaryIonisationProcessor.cc:683
virtual void CalculateClusterDistance()
Definition: PrimaryIonisationProcessor.cc:592
virtual void processRunHeader(lcio::LCRunHeader *run)
Called for every run.
Definition: PrimaryIonisationProcessor.cc:166
virtual void InitializeTrackPoint()
Definition: PrimaryIonisationProcessor.cc:513
float _BField
Magnetic field strength.
Definition: PrimaryIonisationProcessor.h:129
double xend
Definition: PrimaryIonisationProcessor.h:163
virtual void CalculateNumberOfElectrons()
Definition: PrimaryIonisationProcessor.cc:601
std::vector< double > clusterelectrons[2]
For calculation of # electrons per cluster from Parameterisation from HEED.
Definition: PrimaryIonisationProcessor.h:152
double dx
Definition: PrimaryIonisationProcessor.h:167
int Curler
For full simulation of Curler set to 0, otherwise standard 1 means simplified treatment of low moment...
Definition: PrimaryIonisationProcessor.h:139
double px
Definition: PrimaryIonisationProcessor.h:174
virtual void processEvent(lcio::LCEvent *evt)
Called for every event - the working horse.
Definition: PrimaryIonisationProcessor.cc:184
int InTPC
Definition: PrimaryIonisationProcessor.h:156
double aheed[8]
Fitparameters for calculation of # clusters from Parameterisation from HEED.
Definition: PrimaryIonisationProcessor.h:145
virtual void MultipleScattering(double phi, double theta)
Definition: PrimaryIonisationProcessor.cc:747
std::string clusterdensityfile
File with parametrisation of cluster density.
Definition: PrimaryIonisationProcessor.h:119
std::string _outputCollectionName
Name of output collection.
Definition: PrimaryIonisationProcessor.h:116
std::string eperclusterfile
File with parametrisation of electrons per cluster.
Definition: PrimaryIonisationProcessor.h:120
virtual void CalculateTrackPointwithoutBfield()
Definition: PrimaryIonisationProcessor.cc:559
virtual void RotateToDelta(double x, double y, double z)
Definition: PrimaryIonisationProcessor.cc:724
double xv
Definition: PrimaryIonisationProcessor.h:161
virtual void init()
Called at the begin of the job before anything is read.
Definition: PrimaryIonisationProcessor.cc:106
virtual void RotateToTrack(double x, double y, double z)
Definition: PrimaryIonisationProcessor.cc:701
double xa
Definition: PrimaryIonisationProcessor.h:159
virtual void SetParticleParameters(lcio::MCParticle *mcparticle)
Definition: PrimaryIonisationProcessor.cc:490
virtual void CalculateTrackPointwithBfield()
Definition: PrimaryIonisationProcessor.cc:525
double x_e
Definition: PrimaryIonisationProcessor.h:165
std::string _inputCollectionName
Name of input collection.
Definition: PrimaryIonisationProcessor.h:115
float _TPCInnerRadius
Inner radius of the TPC.
Definition: PrimaryIonisationProcessor.h:128