![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Inheritance diagram for G4INCL::CoulombNonRelativistic:
Collaboration diagram for G4INCL::CoulombNonRelativistic:Public Member Functions | |
| CoulombNonRelativistic () | |
| virtual | ~CoulombNonRelativistic () |
| ParticleEntryAvatar * | bringToSurface (Particle *const p, Nucleus *const n) const |
| Modify the momentum of the particle and position it on the surface of the nucleus. | |
| IAvatarList | bringToSurface (Cluster *const c, Nucleus *const n) const |
| Modify the momentum of the incoming cluster and position it on the surface of the nucleus. | |
| void | distortOut (ParticleList const &pL, Nucleus const *const n) const |
| Modify the momenta of the outgoing particles. | |
| G4double | maxImpactParameter (ParticleSpecies const &p, const G4double kinE, Nucleus const *const n) const |
| Return the maximum impact parameter for Coulomb-distorted trajectories. | |
Public Member Functions inherited from G4INCL::ICoulomb | |
| ICoulomb () | |
| virtual | ~ICoulomb () |
Private Member Functions | |
| G4double | minimumDistance (ParticleSpecies const &p, const G4double kineticEnergy, Nucleus const *const n) const |
| Return the minimum distance of approach in a head-on collision (b=0). | |
| G4double | minimumDistance (Particle const *const p, Nucleus const *const n) const |
| Return the minimum distance of approach in a head-on collision (b=0). | |
| G4bool | coulombDeviation (Particle *const p, Nucleus const *const n) const |
| Perform Coulomb deviation. | |
| G4double | getCoulombRadius (ParticleSpecies const &p, Nucleus const *const n) const |
| Get the Coulomb radius for a given particle. | |
Private Attributes | |
| CoulombNone | theCoulombNoneSlave |
| Internal CoulombNone slave to generate the avatars. | |
Definition at line 56 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 56 of file G4INCLCoulombNonRelativistic.hh
|
inline |
Definition at line 58 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 58 of file G4INCLCoulombNonRelativistic.hh
|
inlinevirtual |
Definition at line 59 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 59 of file G4INCLCoulombNonRelativistic.hh
|
virtual |
Modify the momentum of the particle and position it on the surface of the nucleus.
This method performs non-relativistic distortion.
| p | incoming particle |
| n | distorting nucleus |
Implements G4INCL::ICoulomb.
Definition at line 50 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 50 of file G4INCLCoulombNonRelativistic.cc
References G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), G4INCL::Particle::getZ(), and theCoulombNoneSlave.
Here is the call graph for this function:
|
virtual |
Modify the momentum of the incoming cluster and position it on the surface of the nucleus.
This method performs non-relativistic distortion. The momenta of the particles that compose the cluster are also distorted.
| c | incoming cluster |
| n | distorting nucleus |
Implements G4INCL::ICoulomb.
Definition at line 63 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 63 of file G4INCLCoulombNonRelativistic.cc
References G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), and theCoulombNoneSlave.
Here is the call graph for this function:
|
private |
Perform Coulomb deviation.
Modifies the entrance angle of the particle and its impact parameter. Can be applied to Particles and Clusters.
The trajectory for an asymptotic impact parameter
is parametrised as follows:
here
is the hyperbola eccentricity:
is the Rutherford scattering angle:
ranges from
(initial state) to
(scattered particle) and
is the minimum distance of approach in a head-on collision (see the minimumDistance() method).
Definition at line 137 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 137 of file G4INCLCoulombNonRelativistic.cc
References alpha, G4INCL::Math::arcCos(), E, getCoulombRadius(), G4INCL::Particle::getLongitudinalPosition(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getSpecies(), G4INCL::Particle::getTransversePosition(), G4INCL::ThreeVector::mag(), G4INCL::ThreeVector::mag2(), minimumDistance(), momentum, n, G4INCL::Math::pi, G4INCL::Math::piOverTwo, radius, G4INCL::Particle::rotatePositionAndMomentum(), G4INCL::Particle::setPosition(), G4INCL::Math::sign(), G4INCL::Math::twoPi, and G4INCL::ThreeVector::vector().
Referenced by bringToSurface().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Modify the momenta of the outgoing particles.
This method performs non-relativistic distortion.
| pL | list of outgoing particles |
| n | distorting nucleus |
Implements G4INCL::ICoulomb.
Definition at line 78 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 78 of file G4INCLCoulombNonRelativistic.cc
References G4INCL::Math::arcCos(), c1, c2, G4INCL::ThreeVector::dot(), e, G4INCL::PhysicalConstants::eSquared, Acts::VectorHelpers::eta(), G4INCL::Nucleus::getDensity(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::Particle::getZ(), G4INCL::ThreeVector::mag(), momentum, particle, G4INCL::Math::piOverTwo, r, and Z.
Here is the call graph for this function:
|
private |
Get the Coulomb radius for a given particle.
That's the radius of the sphere that the Coulomb trajectory of the incoming particle should intersect. The intersection point is used to determine the effective impact parameter of the trajectory and the new entrance angle.
If the particle is not a Cluster, the Coulomb radius reduces to the surface radius. We use a parametrisation for d, t, He3 and alphas. For heavier clusters we fall back to the surface radius.
| p | the particle species |
| n | the deflecting nucleus |
Definition at line 196 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 196 of file G4INCLCoulombNonRelativistic.cc
References G4INCL::Composite, G4INCL::PhysicalConstants::eSquared, G4INCL::Particle::getA(), G4INCL::ParticleTable::getLargestNuclearRadius(), G4INCL::ParticleTable::getShortName(), G4INCL::Nucleus::getUniverseRadius(), G4INCL::Particle::getZ(), INCL_DEBUG, INCL_ERROR, G4INCL::Math::pow13(), G4INCL::Math::pow23(), radius, G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.
Referenced by coulombDeviation().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Return the maximum impact parameter for Coulomb-distorted trajectories.
Implements G4INCL::ICoulomb.
Definition at line 124 of file G4INCLCoulombNonRelativistic.cc.
View newest version in sPHENIX GitHub at line 124 of file G4INCLCoulombNonRelativistic.cc
References G4INCL::Composite, G4INCL::ParticleTable::getLargestNuclearRadius(), G4INCL::Nucleus::getUniverseRadius(), minimumDistance(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.
Here is the call graph for this function:
|
inlineprivate |
Return the minimum distance of approach in a head-on collision (b=0).
Definition at line 98 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 98 of file G4INCLCoulombNonRelativistic.hh
References G4INCL::PhysicalConstants::eSquared, G4INCL::Cluster::getTableMass(), G4INCL::ParticleTable::getTableSpeciesMass(), G4INCL::Particle::getZ(), INCL_DEBUG, and G4INCL::ParticleSpecies::theZ.
Referenced by coulombDeviation(), maxImpactParameter(), and minimumDistance().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Return the minimum distance of approach in a head-on collision (b=0).
Definition at line 110 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 110 of file G4INCLCoulombNonRelativistic.hh
References G4INCL::Particle::getKineticEnergy(), G4INCL::Particle::getSpecies(), minimumDistance(), and n.
Here is the call graph for this function:
|
private |
Internal CoulombNone slave to generate the avatars.
Definition at line 160 of file G4INCLCoulombNonRelativistic.hh.
View newest version in sPHENIX GitHub at line 160 of file G4INCLCoulombNonRelativistic.hh
Referenced by bringToSurface().