10#include "BesEmcHit.hh"
12#include "G4UnitsTable.hh"
25 TotalEdepCrystal = 0.; TotalTrackLengthCrystal = 0.;
26 EdepCrystal = 0.; TrackLengthCrystal = 0.;
28 PositionCrystal= G4ThreeVector(0,0,0);
35 momentum = G4ThreeVector(0,0,0);
48 EdepCrystal = right.EdepCrystal;
49 TrackLengthCrystal = right.TrackLengthCrystal;
50 EdepCasing = right.EdepCasing;
51 PositionCrystal= right.PositionCrystal;
52 TimeCrystal = right.TimeCrystal;
53 PartId = right.PartId;
54 NumTheta = right.NumTheta;
55 NumPhi = right.NumPhi;
56 trackIndex = right.trackIndex;
57 g4Index = right.g4Index;
58 momentum = right.momentum;
65 EdepCrystal = right.EdepCrystal;
66 TrackLengthCrystal = right.TrackLengthCrystal;
67 EdepCasing = right.EdepCasing;
68 PositionCrystal= right.PositionCrystal;
69 TimeCrystal = right.TimeCrystal;
70 PartId = right.PartId;
71 NumTheta = right.NumTheta;
72 NumPhi = right.NumPhi;
73 trackIndex = right.trackIndex;
74 g4Index = right.g4Index;
75 momentum = right.momentum;
83 return (
this==&right) ? 1 : 0;
96 G4cout <<
"Hit in crystal:" <<NumTheta<<
","<<NumPhi<<G4endl
97 <<
"Energy deposited:"<<G4BestUnit(EdepCrystal,
"Energy") <<G4endl;
99 G4cout <<
"Hit time :"<<G4BestUnit(TimeCrystal,
"Time")<<G4endl
100 <<
" position :"<<G4BestUnit(PositionCrystal,
"Length")<<G4endl;
102 G4cout <<
"Track length :"<<G4BestUnit(TrackLengthCrystal,
"Length")<<G4endl;
109 G4cout<<
"time: "<<TimeCrystal<<
" edep: "<<EdepCrystal<<G4endl;
120 m_particleName = G4String();
123 m_momentum = G4ThreeVector(0,0,0);
124 m_position = G4ThreeVector(0,0,0);
140 std::map<Identifier,G4double>::const_iterator iHitMap;
142 for(iHitMap=right.
Begin();
143 iHitMap!=right.
End();
145 Insert(iHitMap->first,iHitMap->second);
148 m_identify = right.m_identify;
149 m_trackIndex = right.m_trackIndex;
150 m_g4TrackId = right.m_g4TrackId;
151 m_hitEmc = right.m_hitEmc;
152 m_PDGCode = right.m_PDGCode;
153 m_PDGCharge = right.m_PDGCharge;
154 m_particleName = right.m_particleName;
155 m_edep = right.m_edep;
156 m_time = right.m_time;
157 m_momentum = right.m_momentum;
158 m_position = right.m_position;
166 G4cout<<
"Id: "<<m_identify<<
"\tTrack Index: "<<m_trackIndex<<
"\tG4 Track Id: "<<m_g4TrackId
167 <<
"\tHit Emc: "<<m_hitEmc<<
"\tTotal Energy: "<<m_edep
168 <<
"\nPDGCode: "<<m_PDGCode<<
"\tCharge: "<<m_PDGCharge<<
"\tParticle Name: "<<m_particleName
169 <<
"\nGloble Time: "<<m_time<<
"\tMomentum: "<<m_momentum.mag()<<
"\tPosition: "<<m_position<<G4endl;
171 std::map<Identifier,G4double>::iterator iHitMap;
172 for(iHitMap=m_hitMap.begin();iHitMap!=m_hitMap.end();iHitMap++) {
173 G4cout<<iHitMap->first<<
"\t"<<iHitMap->second<<G4endl;
179 return m_hitMap.begin();
184 return m_hitMap.end();
189 return m_hitMap.find(
id);
209 return m_hitMap.size();
G4Allocator< BesEmcTruthHit > BesEmcTruthHitAllocator
G4Allocator< BesEmcHit > BesEmcHitAllocator
************Class m_ypar INTEGER m_KeyWgt INTEGER m_nphot INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
int operator==(const BesEmcHit &) const
const BesEmcHit & operator=(const BesEmcHit &)
void AddEHit(Identifier, G4double)
std::map< Identifier, G4double >::const_iterator End() const
std::map< Identifier, G4double >::const_iterator Find(Identifier) const
const BesEmcTruthHit & operator=(const BesEmcTruthHit &)
void Insert(Identifier, G4double)
G4double GetEHit(Identifier)
std::map< Identifier, G4double >::const_iterator Begin() const
virtual ~BesEmcTruthHit()