34 #define INCLXX_IN_GEANT4_MODE 1
65 std::list<Intersection> theIntersections;
72 (*p)->getPropagationVelocity(),
75 theIntersections.push_back(intersection);
78 (*p)->setPosition(intersection.
position);
81 if(intersection.
time < theFirstEntryTime) {
82 theFirstEntryTime = intersection.
time;
83 theFirstID = (*p)->getID();
88 std::list<Intersection>::const_iterator intIter = theIntersections.begin();
89 for(
ParticleIter p=projectiles.begin(),
e=projectiles.end();
p!=
e; ++
p, ++intIter) {
91 if((*intIter).exists) {
94 if((*p)->getID() == theFirstID) {
104 return theAvatarList;
ParticleList::const_iterator ParticleIter
Intersection-point structure.
const G4INCL::ThreeVector & getPosition() const
Placeholder class for no Coulomb distortion.
ThreeVector getPropagationVelocity() const
Get the propagation velocity of the particle.
ParticleList const & getParticles() const
virtual void setPosition(const G4INCL::ThreeVector &position)
G4double getUniverseRadius() const
Getter for theUniverseRadius.
Simple class for computing intersections between a straight line and a sphere.
Intersection getEarlierTrajectoryIntersection(const ThreeVector &x0, const ThreeVector &p, const G4double r)
Compute the first intersection of a straight particle trajectory with a sphere.
ParticleEntryAvatar * bringToSurface(Particle *const p, Nucleus *const n) const
Position the particle on the surface of the nucleus.