Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::CoulombDistortion Class Reference

#include <G4INCLCoulombDistortion.hh>

Static Public Member Functions

static ParticleEntryAvatarbringToSurface (Particle *p, Nucleus *const n)
 Modify the momentum of an incoming particle and position it on the surface of the nucleus.
 
static IAvatarList bringToSurface (Cluster *const c, Nucleus *const n)
 Modify the momentum of an incoming cluster and position it on the surface of the target.
 
static void distortOut (ParticleList const &pL, Nucleus const *const n)
 Modify the momentum of an outgoing particle.
 
static G4double maxImpactParameter (ParticleSpecies const &p, const G4double kinE, Nucleus const *const n)
 Return the maximum impact parameter for Coulomb-distorted trajectories.
 
static G4double maxImpactParameter (Particle const *const p, Nucleus const *const n)
 Return the maximum impact parameter for Coulomb-distorted trajectories.
 
static void setCoulomb (ICoulomb *const coulomb)
 Set the Coulomb-distortion algorithm.
 
static void deleteCoulomb ()
 Delete the Coulomb-distortion object.
 

Protected Member Functions

 CoulombDistortion ()
 
 ~CoulombDistortion ()
 

Detailed Description

Coulomb distortion

Definition at line 58 of file G4INCLCoulombDistortion.hh.

Constructor & Destructor Documentation

◆ CoulombDistortion()

G4INCL::CoulombDistortion::CoulombDistortion ( )
inlineprotected

Definition at line 127 of file G4INCLCoulombDistortion.hh.

127{}

◆ ~CoulombDistortion()

G4INCL::CoulombDistortion::~CoulombDistortion ( )
inlineprotected

Definition at line 128 of file G4INCLCoulombDistortion.hh.

128{}

Member Function Documentation

◆ bringToSurface() [1/2]

static IAvatarList G4INCL::CoulombDistortion::bringToSurface ( Cluster *const  c,
Nucleus *const  n 
)
inlinestatic

Modify the momentum of an incoming cluster and position it on the surface of the target.

Same as the Particle-based bringToSurface method, but for incoming heavy ions.

This method returns a list of ParticleEntry avatars for the participant nucleons

Parameters
cincoming heavy ion
ndistorting nucleus
Returns
a list of ParticleEntryAvatars

Definition at line 96 of file G4INCLCoulombDistortion.hh.

96 {
97 return theCoulomb->bringToSurface(c, n);
98 }
virtual ParticleEntryAvatar * bringToSurface(Particle *const p, Nucleus *const n) const =0
Modify the momentum of an incoming particle and position it on the surface of the nucleus.

◆ bringToSurface() [2/2]

static ParticleEntryAvatar * G4INCL::CoulombDistortion::bringToSurface ( Particle p,
Nucleus *const  n 
)
inlinestatic

Modify the momentum of an incoming particle and position it on the surface of the nucleus.

This method places Particle p on the surface of Nucleus n and modifies the direction of its momentum to be tangent to the Coulomb trajectory in that point.

The input particle has to be prepared with its asymptotic momentum. Its position is used only for the purpose of computing the asymptotic impact parameter; in other words, this method only uses the components of the position that are perpendicular to the momentum. The remaining component is not used, and can be set to any value.

This method returns a ParticleEntry avatar for the projectile.

Parameters
pincoming particle
ndistorting nucleus
Returns
the ParticleEntryAvatar for the projectile particle

Definition at line 79 of file G4INCLCoulombDistortion.hh.

79 {
80 return theCoulomb->bringToSurface(p, n);
81 }

Referenced by G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

◆ deleteCoulomb()

static void G4INCL::CoulombDistortion::deleteCoulomb ( )
inlinestatic

Delete the Coulomb-distortion object.

Definition at line 121 of file G4INCLCoulombDistortion.hh.

121 {
122 delete theCoulomb;
123 theCoulomb = 0;
124 }

Referenced by G4INCL::INCL::~INCL().

◆ distortOut()

static void G4INCL::CoulombDistortion::distortOut ( ParticleList const pL,
Nucleus const *const  n 
)
inlinestatic

Modify the momentum of an outgoing particle.

Definition at line 101 of file G4INCLCoulombDistortion.hh.

101 {
102 theCoulomb->distortOut(pL, n);
103 }
virtual void distortOut(ParticleList const &pL, Nucleus const *const n) const =0
Modify the momenta of the outgoing particles.

◆ maxImpactParameter() [1/2]

static G4double G4INCL::CoulombDistortion::maxImpactParameter ( Particle const *const  p,
Nucleus const *const  n 
)
inlinestatic

Return the maximum impact parameter for Coulomb-distorted trajectories.

Definition at line 113 of file G4INCLCoulombDistortion.hh.

113 {
114 return maxImpactParameter(p->getSpecies(), p->getKineticEnergy(), n);
115 }
static G4double maxImpactParameter(ParticleSpecies const &p, const G4double kinE, Nucleus const *const n)
Return the maximum impact parameter for Coulomb-distorted trajectories.

◆ maxImpactParameter() [2/2]

static G4double G4INCL::CoulombDistortion::maxImpactParameter ( ParticleSpecies const p,
const G4double  kinE,
Nucleus const *const  n 
)
inlinestatic

Return the maximum impact parameter for Coulomb-distorted trajectories.

Definition at line 107 of file G4INCLCoulombDistortion.hh.

107 {
108 return theCoulomb->maxImpactParameter(p, kinE, n);
109 }
virtual G4double maxImpactParameter(ParticleSpecies const &p, const G4double kinE, Nucleus const *const n) const =0
Return the maximum impact parameter for Coulomb-distorted trajectories.

Referenced by maxImpactParameter(), G4INCL::INCL::prepareReaction(), G4INCL::StandardPropagationModel::shootComposite(), and G4INCL::StandardPropagationModel::shootParticle().

◆ setCoulomb()

static void G4INCL::CoulombDistortion::setCoulomb ( ICoulomb *const  coulomb)
inlinestatic

Set the Coulomb-distortion algorithm.

Definition at line 118 of file G4INCLCoulombDistortion.hh.

118{ theCoulomb = coulomb; }

Referenced by G4INCL::INCL::INCL().


The documentation for this class was generated from the following files: