Geant4-11
|
#include <G4INCLCoulombNonRelativistic.hh>
Public Member Functions | |
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. More... | |
ParticleEntryAvatar * | bringToSurface (Particle *const p, Nucleus *const n) const |
Modify the momentum of the particle and position it on the surface of the nucleus. More... | |
CoulombNonRelativistic () | |
void | distortOut (ParticleList const &pL, Nucleus const *const n) const |
Modify the momenta of the outgoing particles. More... | |
G4double | maxImpactParameter (ParticleSpecies const &p, const G4double kinE, Nucleus const *const n) const |
Return the maximum impact parameter for Coulomb-distorted trajectories. More... | |
virtual | ~CoulombNonRelativistic () |
Private Member Functions | |
G4bool | coulombDeviation (Particle *const p, Nucleus const *const n) const |
Perform Coulomb deviation. More... | |
G4double | getCoulombRadius (ParticleSpecies const &p, Nucleus const *const n) const |
Get the Coulomb radius for a given particle. More... | |
G4double | minimumDistance (Particle const *const p, Nucleus const *const n) const |
Return the minimum distance of approach in a head-on collision (b=0). More... | |
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). More... | |
Private Attributes | |
CoulombNone | theCoulombNoneSlave |
Internal CoulombNone slave to generate the avatars. More... | |
Definition at line 56 of file G4INCLCoulombNonRelativistic.hh.
|
inline |
Definition at line 58 of file G4INCLCoulombNonRelativistic.hh.
|
inlinevirtual |
Definition at line 59 of file G4INCLCoulombNonRelativistic.hh.
|
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.
References G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), CLHEP::detail::n, and theCoulombNoneSlave.
|
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.
References G4INCL::CoulombNone::bringToSurface(), coulombDeviation(), G4INCL::Particle::getZ(), CLHEP::detail::n, and theCoulombNoneSlave.
|
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.
References alpha, G4INCL::Math::arcCos(), getCoulombRadius(), G4INCL::Particle::getLongitudinalPosition(), G4INCL::Particle::getMomentum(), G4INCL::Particle::getSpecies(), G4INCL::Particle::getTransversePosition(), G4INCL::ThreeVector::mag(), G4INCL::ThreeVector::mag2(), minimumDistance(), CLHEP::detail::n, G4INCL::Math::pi, G4INCL::Math::piOverTwo, G4INCL::Particle::rotatePositionAndMomentum(), G4INCL::Particle::setPosition(), G4INCL::Math::sign(), G4INCL::Math::twoPi, and G4INCL::ThreeVector::vector().
Referenced by bringToSurface().
|
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.
References G4INCL::Math::arcCos(), G4INCL::PhysicalConstants::eSquared, G4INCL::Nucleus::getDensity(), G4INCL::NuclearDensity::getTransmissionRadius(), G4INCL::Particle::getZ(), G4INCL::ThreeVector::mag(), G4INCL::Math::piOverTwo, and Z.
|
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.
References G4INCL::Composite, G4INCL::PhysicalConstants::eSquared, G4INCL::ParticleTable::getLargestNuclearRadius(), G4INCL::ParticleTable::getShortName(), INCL_DEBUG, INCL_ERROR, CLHEP::detail::n, G4INCL::Math::pow13(), G4INCL::Math::pow23(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.
Referenced by coulombDeviation().
|
virtual |
Return the maximum impact parameter for Coulomb-distorted trajectories.
Implements G4INCL::ICoulomb.
Definition at line 124 of file G4INCLCoulombNonRelativistic.cc.
References G4INCL::Composite, G4INCL::ParticleTable::getLargestNuclearRadius(), minimumDistance(), CLHEP::detail::n, G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, and G4INCL::ParticleSpecies::theZ.
|
inlineprivate |
Return the minimum distance of approach in a head-on collision (b=0).
Definition at line 110 of file G4INCLCoulombNonRelativistic.hh.
References G4INCL::Particle::getKineticEnergy(), G4INCL::Particle::getSpecies(), minimumDistance(), and CLHEP::detail::n.
|
inlineprivate |
Return the minimum distance of approach in a head-on collision (b=0).
Definition at line 98 of file G4INCLCoulombNonRelativistic.hh.
References G4INCL::PhysicalConstants::eSquared, G4INCL::ParticleTable::getTableSpeciesMass(), INCL_DEBUG, CLHEP::detail::n, and G4INCL::ParticleSpecies::theZ.
Referenced by coulombDeviation(), maxImpactParameter(), and minimumDistance().
|
private |
Internal CoulombNone slave to generate the avatars.
Definition at line 160 of file G4INCLCoulombNonRelativistic.hh.
Referenced by bringToSurface().