35#define INCLXX_IN_GEANT4_MODE 1
46#ifndef G4INCLCOULOMBDISTORTION_HH_
47#define G4INCLCOULOMBDISTORTION_HH_
Abstract interface for Coulomb distortion.
static ParticleEntryAvatar * bringToSurface(Particle *p, Nucleus *const n)
Modify the momentum of an incoming particle and position it on the surface of the nucleus.
static G4double maxImpactParameter(ParticleSpecies const &p, const G4double kinE, Nucleus const *const n)
Return the maximum impact parameter for Coulomb-distorted trajectories.
static void distortOut(ParticleList const &pL, Nucleus const *const n)
Modify the momentum of an outgoing particle.
static void deleteCoulomb()
Delete the Coulomb-distortion object.
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 IAvatarList bringToSurface(Cluster *const c, Nucleus *const n)
Modify the momentum of an incoming cluster and position it on the surface of the target.
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.
virtual void distortOut(ParticleList const &pL, Nucleus const *const n) const =0
Modify the momenta of the outgoing particles.
virtual G4double maxImpactParameter(ParticleSpecies const &p, const G4double kinE, Nucleus const *const n) const =0
Return the maximum impact parameter for Coulomb-distorted trajectories.
virtual G4INCL::ParticleSpecies getSpecies() const
Get the particle species.
G4double getKineticEnergy() const
Get the particle kinetic energy.
std::list< IAvatar * > IAvatarList
std::list< G4INCL::Particle * > ParticleList