58 G4cerr <<
"G4Scatterer invalid TimeTo Interaction : " << time;
61 if (target)
G4cerr <<
" target "
84 if(toBeCaned->empty())
88 std::vector<G4CollisionInitialState *>::iterator collIter, collIter2;
89 std::vector<G4KineticTrack *>::iterator trackIter;
95 collision = *collIter;
97 G4bool getNextCollision =
false;
98 for(trackIter = toBeCaned->begin(); trackIter != toBeCaned->end(); ++trackIter)
100 if((collision->
GetTarget() == *trackIter) ||
103 toRemove.push_back(collision);
106 for(
size_t tcount=0; tcount<targets.size(); tcount++)
108 if(targets[tcount] == *trackIter)
110 toRemove.push_back(collision);
111 getNextCollision =
true;
115 if(getNextCollision)
break;
120 for(collIter = toRemove.begin(); collIter != toRemove.end(); ++collIter)
122 collision = *collIter;
133 std::vector<G4CollisionInitialState *>::iterator i;
144 std::vector<G4CollisionInitialState *>::iterator i;
147 if(nextTime > (*i)->GetCollisionTime())
149 nextTime = (*i)->GetCollisionTime();
153 #ifdef debug_G4CollisionManager
157 G4cerr <<
"G4CollisionManager::GetNextCollision - Fatal"<<
G4endl;
161 G4cerr <<
" Time to collision "<<(*i)->GetCollisionTime()<<
" "<<
G4endl;
162 G4cerr <<
" projectile "<<(*i)->GetPrimary()->Get4Momentum()<<
" "
163 <<(*i)->GetPrimary()->GetDefinition()->GetParticleName()<<
G4endl;
164 if ((*i)->GetTarget())
G4cerr <<
" target "<<(*i)->GetTarget()->Get4Momentum()<<
" "
165 <<(*i)->GetTarget()->GetDefinition()->GetParticleName()<<
G4endl;
167 G4cerr <<
"G4CollisionManager::GetNextCollision - End of message"<<
G4endl;
177 std::vector<G4CollisionInitialState *>::iterator i;
188 G4cout <<
" collision " << collision <<
" time: "
195 <<
" Collision type: "<<
typeid(action).
name()
G4KineticTrackVector & GetTargetCollection(void)
const G4LorentzVector & Get4Momentum() const
const G4String & GetParticleName() const
const G4ParticleDefinition * GetDefinition() const
G4CollisionInitialState * GetNextCollision()
static constexpr double second
const G4BCAction * GetGenerator()
G4ListOfCollisions * theCollisionList
void AddCollision(G4double time, G4KineticTrack *proj, G4KineticTrack *target=NULL)
G4double GetCollisionTime(void)
void RemoveCollision(G4CollisionInitialState *collision)
G4KineticTrack * GetPrimary(void)
std::vector< G4CollisionInitialState * > G4ListOfCollisions
G4GLOB_DLL std::ostream G4cerr
G4KineticTrack * GetTarget(void)
void RemoveTracksCollisions(G4KineticTrackVector *ktv)
G4int GetPDGEncoding() const
G4GLOB_DLL std::ostream G4cout