QwGeant4
QweakSimUserCerenkov_DetectorEvent.cc
Go to the documentation of this file.
2 
4 
5 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
7 {
8  Initialize();
9 }
10 
11 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
13 
14 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
16 {
17  DetectorID.clear();
18  TrackID = 0;
19  HasBeenHit = 0;
20  NbOfHits = 0;
21  GlobalTimeOfHit.clear();
22  EdgeEventFlag.clear();
23 
24  SecPartLocalOriginX.clear();
25  SecPartLocalOriginY.clear();
26  SecPartLocalOriginZ.clear();
27 
28  SecPartLocalMomentumX.clear();
29  SecPartLocalMomentumY.clear();
30  SecPartLocalMomentumZ.clear();
31 
32  SecPartLocalEnergy.clear();
33  SecPartLocalType.clear();
34 
35 
37  CerenkovPhotonEnergy.clear();
38 
43 
44  HitLocalPositionX.clear();
45  HitLocalPositionY.clear();
46  HitLocalPositionZ.clear();
47 
48  PolarizationX.clear();
49  PolarizationY.clear();
50  PolarizationZ.clear();
52  TransversePolarization.clear();
57 
58  HitLocalExitPositionX.clear();
59  HitLocalExitPositionY.clear();
60  HitLocalExitPositionZ.clear();
61 
62  HitGlobalPositionX.clear();
63  HitGlobalPositionY.clear();
64  HitGlobalPositionZ.clear();
65 
66  OriginVertexPositionX.clear();
67  OriginVertexPositionY.clear();
68  OriginVertexPositionZ.clear();
69 
73 
74  OriginVertexThetaAngle.clear();
75  OriginVertexPhiAngle.clear();
77  OriginVertexTotalEnergy.clear();
78 
79  LocalMomentumX.clear();
80  LocalMomentumY.clear();
81  LocalMomentumZ.clear();
82  LocalThetaAngle.clear();
83  LocalPhiAngle.clear();
84 
85  GlobalMomentumX.clear();
86  GlobalMomentumY.clear();
87  GlobalMomentumZ.clear();
88  GlobalThetaAngle.clear();
89  GlobalPhiAngle.clear();
90 
91  EdgeEventFlag.clear();
92 
93  ParticleName.clear();
94  CreatorProcessName.clear();
95  ParticleID.clear();
96  ParentID.clear();
97  ParticleType.clear();
98 
99  TotalEnergy.clear();
100  KineticEnergy.clear();
101 
102 }
103 
104 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
105 
107  Float_t XM, Float_t YM, Float_t ZM,
108  Float_t energy, Int_t type)
109 {
110  SecPartLocalOriginX.push_back(XO);
111  SecPartLocalOriginY.push_back(YO);
112  SecPartLocalOriginZ.push_back(ZO);
113 
114  SecPartLocalMomentumX.push_back(XM);
115  SecPartLocalMomentumY.push_back(YM);
116  SecPartLocalMomentumZ.push_back(ZM);
117 
118  SecPartLocalEnergy.push_back(energy);
119  SecPartLocalType.push_back(type);
120 
121  if (type == 11) SecondaryElectronCount++;
122  if (type == 22) SecondaryPhotonCount++;
123  if (type == -11) SecondaryPositronCount++;
125 }
126 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
127 
std::vector< Int_t > DetectorID
ID of the detector in which this hit was registered.
Int_t NbOfHits
Number of hits in this detector.
std::vector< Int_t > ParentID
Id of the parent of this hit.
std::vector< TString > ParticleName
Name of the particle type of this hit.
Int_t SecondaryParticleCount
Number of secondary particles.
std::vector< Float_t > PolarizationZ
(dimensionless, normalized)
std::vector< Float_t > LocalPhiAngle
(degrees, but 90 degrees rotated to keep things interesting)
std::vector< Float_t > OriginVertexPhiAngle
(degrees)
std::vector< Float_t > GlobalTimeOfHit
Global time when this hit was generated (ns)
Int_t HasBeenHit
Has this detector been hit? 0 = no, 5 = yes.
std::vector< Float_t > TransversePolarization
(dimensionless, normalized)
std::vector< Int_t > EdgeEventFlag
Was the distance between hit and exit position below 1.5 cm? 0 = no, 1 = yes.
std::vector< Float_t > OriginVertexThetaAngle
(degrees)
std::vector< Int_t > ParticleType
Lund type of the particle type of this hit
std::vector< Int_t > ParticleID
Id of this hit.
std::vector< Float_t > PolarizationY
(dimensionless, normalized)
Int_t TrackID
ID of the track from which this hit was generated.
std::vector< Float_t > PolarizationX
(dimensionless, normalized)
std::vector< TString > CreatorProcessName
Process name that created this hit.
Int_t OpticalPhotonCount
Number of optical photons.
std::vector< Float_t > TransversePolarizationY
(dimensionless, normalized)
Int_t SecondaryElectronCount
Number of secondary electrons.
ROOT Subtree structure for Cerenkov DetectorEvent.
std::vector< Float_t > TransversePolarizationPhiAngle
(degrees)
Int_t SecondaryPhotonCount
Number of secondary photons.
Int_t SecondaryPositronCount
Number of secondary positrons.
std::vector< Float_t > GlobalPhiAngle
(degrees, but 90 degrees rotated to keep things interesting)
std::vector< Float_t > LongitudinalPolarization
(dimensionless, normalized)
std::vector< Float_t > TransversePolarizationX
(dimensionless, normalized)
void AddSecondaryParticleEvent(Float_t XO, Float_t YO, Float_t ZO, Float_t XM, Float_t YM, Float_t ZM, Float_t energy, Int_t type)
std::vector< Float_t > TransversePolarizationZ
(dimensionless, normalized)