74 std::list<Intersection> theIntersections;
77 for(
ParticleIter p=projectiles.begin(), e=projectiles.end(); p!=e; ++p) {
81 (*p)->getPropagationVelocity(),
82 n->getUniverseRadius()));
84 theIntersections.push_back(intersection);
87 (*p)->setPosition(intersection.
position);
90 if(intersection.
time < theFirstEntryTime) {
91 theFirstEntryTime = intersection.
time;
92 theFirstID = (
G4int)(*p)->getID();
97 std::list<Intersection>::const_iterator intIter = theIntersections.begin();
98 for(
ParticleIter p=projectiles.begin(), e=projectiles.end(); p!=e; ++p, ++intIter) {
100 if((*intIter).exists) {
103 if((*p)->getID() == theFirstID) {
108 theAvatarList.push_back(
new ParticleEntryAvatar(intIter->time - theFirstEntryTime, n, *p));
113 return theAvatarList;
ThreeVector getPropagationVelocity() const
Get the propagation velocity of the particle.
const G4INCL::ThreeVector & getPosition() const
virtual void setPosition(const G4INCL::ThreeVector &position)