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

Functions

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

Detailed Description

Coulomb distortion

Function Documentation

◆ bringToSurface() [1/2]

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

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 61 of file G4INCLCoulombDistortion.cc.

61 {
62 return theCoulomb->bringToSurface(c, n);
63 }

◆ bringToSurface() [2/2]

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

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 57 of file G4INCLCoulombDistortion.cc.

57 {
58 return theCoulomb->bringToSurface(p, n);
59 }

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

◆ deleteCoulomb()

void G4INCL::CoulombDistortion::deleteCoulomb ( )

Delete the Coulomb-distortion object.

Definition at line 79 of file G4INCLCoulombDistortion.cc.

79 {
80 delete theCoulomb;
81 theCoulomb = 0;
82 }

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

◆ distortOut()

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

Modify the momentum of an outgoing particle.

Definition at line 65 of file G4INCLCoulombDistortion.cc.

65 {
66 theCoulomb->distortOut(pL, n);
67 }

◆ initialize()

void G4INCL::CoulombDistortion::initialize ( Config const *const  theConfig)

Initialize the Coulomb-distortion algorithm.

Definition at line 84 of file G4INCLCoulombDistortion.cc.

84 {
85 CoulombType coulombType = theConfig->getCoulombType();
86 if(coulombType == NonRelativisticCoulomb)
88 else if(coulombType == NoCoulomb)
90 else
91 setCoulomb(NULL);
92 }
void setCoulomb(ICoulomb *const coulomb)
Set the Coulomb-distortion algorithm.

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

◆ maxImpactParameter() [1/2]

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

Return the maximum impact parameter for Coulomb-distorted trajectories.

Definition at line 73 of file G4INCLCoulombDistortion.cc.

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

◆ maxImpactParameter() [2/2]

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

Return the maximum impact parameter for Coulomb-distorted trajectories.

Definition at line 69 of file G4INCLCoulombDistortion.cc.

69 {
70 return theCoulomb->maxImpactParameter(p, kinE, n);
71 }

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

◆ setCoulomb()

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

Set the Coulomb-distortion algorithm.

Definition at line 77 of file G4INCLCoulombDistortion.cc.

77{ theCoulomb = coulomb; }

Referenced by initialize().