#include <G4MCTSimEvent.hh>
Definition at line 48 of file G4MCTSimEvent.hh.
typedef G4MCTSimParticleContainer::const_iterator G4MCTSimEvent::particle_const_iterator |
Definition at line 76 of file G4MCTSimEvent.hh.
typedef G4MCTSimParticleContainer::iterator G4MCTSimEvent::particle_iterator |
Definition at line 75 of file G4MCTSimEvent.hh.
typedef G4MCTSimVertexContainer::const_iterator G4MCTSimEvent::vertex_const_iterator |
Definition at line 83 of file G4MCTSimEvent.hh.
typedef G4MCTSimVertexContainer::iterator G4MCTSimEvent::vertex_iterator |
Definition at line 82 of file G4MCTSimEvent.hh.
G4MCTSimEvent::G4MCTSimEvent | ( | ) |
G4MCTSimEvent::~G4MCTSimEvent | ( | ) |
Definition at line 47 of file G4MCTSimEvent.cc.
References ClearEvent().
00049 { 00050 ClearEvent(); 00051 }
G4MCTSimEvent::G4MCTSimEvent | ( | const G4MCTSimEvent & | right | ) | [inline] |
G4bool G4MCTSimEvent::AddParticle | ( | const G4MCTSimParticle * | aparticle | ) |
Definition at line 54 of file G4MCTSimEvent.cc.
References particleMap.
00056 { 00057 G4MCTSimParticle* qpart= const_cast<G4MCTSimParticle*>(aparticle); 00058 int trackID= aparticle-> GetTrackID(); 00059 int nc= particleMap.count(trackID); 00060 if(nc==0) { 00061 particleMap.insert(std::make_pair(trackID, qpart)); 00062 return true; 00063 } else { 00064 return false; 00065 } 00066 00067 }
void G4MCTSimEvent::BuildVertexContainer | ( | ) |
Definition at line 94 of file G4MCTSimEvent.cc.
References GetVertex(), particleMap, and vertexVec.
00096 { 00097 G4MCTSimParticleContainer::iterator itr; 00098 int vid=1; 00099 for(itr= particleMap.begin(); itr!= particleMap.end(); ++itr) { 00100 G4MCTSimVertex* vertex= itr->second-> GetVertex(); 00101 if(vertex) { 00102 if (vertex-> GetID()<0) { // ID not yet assigned 00103 vertex-> SetID(vid); 00104 vid++; 00105 if (vertex) vertexVec.push_back(vertex); 00106 } 00107 } 00108 } 00109 }
void G4MCTSimEvent::ClearEvent | ( | ) |
Definition at line 112 of file G4MCTSimEvent.cc.
References particleMap, and vertexVec.
Referenced by ~G4MCTSimEvent().
00114 { 00115 G4MCTSimParticleContainer::iterator itr; 00116 for(itr= particleMap.begin(); itr!= particleMap.end(); ++itr) { 00117 delete itr->second; 00118 } 00119 particleMap.clear(); 00120 00121 G4MCTSimVertexContainer::iterator itrv; 00122 for(itrv= vertexVec.begin(); itrv!= vertexVec.end(); ++itrv) { 00123 delete (*itrv); 00124 } 00125 vertexVec.clear(); 00126 }
G4MCTSimParticle * G4MCTSimEvent::FindParticle | ( | int | tid | ) | const |
Definition at line 70 of file G4MCTSimEvent.cc.
00072 { 00073 G4MCTSimParticleContainer::const_iterator pos= particleMap.find(tid); 00074 if(pos != particleMap.end()) { 00075 return pos-> second; 00076 } else { 00077 return 0; 00078 } 00079 }
int G4MCTSimEvent::GetNofParticles | ( | ) | const [inline] |
Definition at line 106 of file G4MCTSimEvent.hh.
References particleMap.
00107 { 00108 return particleMap.size(); 00109 }
int G4MCTSimEvent::GetNofStoredParticles | ( | ) | const |
Definition at line 130 of file G4MCTSimEvent.cc.
References CLHEP::detail::n, and particleMap.
00132 { 00133 int n=0; 00134 G4MCTSimParticleContainer::const_iterator itr; 00135 for(itr= particleMap.begin(); itr!= particleMap.end(); ++itr) { 00136 if(itr-> second-> GetStoreFlag()) n++; 00137 } 00138 return n; 00139 }
int G4MCTSimEvent::GetNofStoredVertices | ( | ) | const |
Definition at line 142 of file G4MCTSimEvent.cc.
References CLHEP::detail::n, and vertexVec.
00144 { 00145 int n=0; 00146 G4MCTSimVertexContainer::const_iterator itr; 00147 for(itr= vertexVec.begin(); itr!= vertexVec.end(); ++itr) { 00148 if((*itr)->GetStoreFlag()) n++; 00149 } 00150 return n; 00151 }
int G4MCTSimEvent::GetNofVertices | ( | ) | const [inline] |
Definition at line 111 of file G4MCTSimEvent.hh.
References vertexVec.
00112 { 00113 return vertexVec.size(); 00114 }
G4MCTSimVertex * G4MCTSimEvent::GetVertex | ( | int | vid | ) | const |
Definition at line 82 of file G4MCTSimEvent.cc.
Referenced by BuildVertexContainer().
00084 { 00085 int nv= vertexVec.size(); 00086 if(vid>=1 && vid<=nv) { 00087 return vertexVec[vid-1]; 00088 } else { 00089 return 0; 00090 } 00091 }
const G4MCTSimEvent & G4MCTSimEvent::operator= | ( | const G4MCTSimEvent & | right | ) | [inline] |
Definition at line 99 of file G4MCTSimEvent.hh.
References particleMap.
00100 { 00101 particleMap= right.particleMap; // shallow copy 00102 00103 return *this; 00104 }
G4MCTSimEvent::particle_const_iterator G4MCTSimEvent::particles_begin | ( | ) | const [inline] |
Definition at line 124 of file G4MCTSimEvent.hh.
References particleMap.
00125 { return particleMap.begin(); }
G4MCTSimEvent::particle_iterator G4MCTSimEvent::particles_begin | ( | ) | [inline] |
Definition at line 117 of file G4MCTSimEvent.hh.
References particleMap.
00118 { return particleMap.begin(); }
G4MCTSimEvent::particle_const_iterator G4MCTSimEvent::particles_end | ( | ) | const [inline] |
Definition at line 127 of file G4MCTSimEvent.hh.
References particleMap.
00128 { return particleMap.end(); }
G4MCTSimEvent::particle_iterator G4MCTSimEvent::particles_end | ( | ) | [inline] |
Definition at line 120 of file G4MCTSimEvent.hh.
References particleMap.
00121 { return particleMap.end(); }
void G4MCTSimEvent::Print | ( | std::ostream & | ostr = std::cout |
) | const |
Definition at line 155 of file G4MCTSimEvent.cc.
References G4endl.
00157 { 00158 ostr << "____________________________________________________" 00159 "____________________________" << G4endl; 00160 ostr << "SimEvent:" << G4endl << G4endl; 00161 ostr << "Current Memory Usage: " 00162 << particleMap.size() << " particles, " 00163 << vertexVec.size() << " vertices." 00164 << G4endl; 00165 ostr << "trk#<ptrk#: P(Px(GeV), Py, Pz, E ) @PDG %proc\n" 00166 << " vtx#- X( X(mm), Y, Z, T(ns)) @vname-#" 00167 << G4endl; 00168 ostr << "____________________________________________________" 00169 "____________________________" << G4endl; 00170 00171 G4MCTSimParticleContainer::const_iterator itr; 00172 for(itr= particleMap.begin(); itr!= particleMap.end(); ++itr) { 00173 itr-> second-> PrintSingle(ostr); 00174 } 00175 ostr << "____________________________________________________" 00176 "____________________________" << G4endl; 00177 }
G4MCTSimEvent::vertex_const_iterator G4MCTSimEvent::vertices_begin | ( | ) | const [inline] |
Definition at line 136 of file G4MCTSimEvent.hh.
References vertexVec.
00137 { return vertexVec.begin(); }
G4MCTSimEvent::vertex_iterator G4MCTSimEvent::vertices_begin | ( | ) | [inline] |
Definition at line 130 of file G4MCTSimEvent.hh.
References vertexVec.
00131 { return vertexVec.begin(); }
G4MCTSimEvent::vertex_const_iterator G4MCTSimEvent::vertices_end | ( | ) | const [inline] |
Definition at line 139 of file G4MCTSimEvent.hh.
References vertexVec.
00140 { return vertexVec.end(); }
G4MCTSimEvent::vertex_iterator G4MCTSimEvent::vertices_end | ( | ) | [inline] |
Definition at line 133 of file G4MCTSimEvent.hh.
References vertexVec.
00134 { return vertexVec.end(); }
G4MCTSimParticleContainer G4MCTSimEvent::particleMap [protected] |
Definition at line 50 of file G4MCTSimEvent.hh.
Referenced by AddParticle(), BuildVertexContainer(), ClearEvent(), GetNofParticles(), GetNofStoredParticles(), operator=(), particles_begin(), and particles_end().
G4MCTSimVertexContainer G4MCTSimEvent::vertexVec [protected] |
Definition at line 51 of file G4MCTSimEvent.hh.
Referenced by BuildVertexContainer(), ClearEvent(), GetNofStoredVertices(), GetNofVertices(), vertices_begin(), and vertices_end().