34#define INCLXX_IN_GEANT4_MODE 1
49#ifndef G4INCLINUCLEARPOTENTIAL_HH
50#define G4INCLINUCLEARPOTENTIAL_HH 1
60 namespace NuclearPotential {
66 pionPotential(pionPot)
75 vPiPlus = vPionDefault + 71.*xsi - vc;
76 vPiZero = vPionDefault;
77 vPiMinus = vPionDefault - 71.*xsi + vc;
78 vKPlus = vKPlusDefault;
79 vKZero = vKPlusDefault + 10.;
80 vKMinus = vKMinusDefault;
81 vKZeroBar = vKMinusDefault - 10.;
117 std::map<ParticleType, G4double>::const_iterator i =
fermiEnergy.find(t);
139 std::map<ParticleType, G4double>::const_iterator i =
separationEnergy.find(t);
152 return std::sqrt(Tf*(Tf+2.*mass));
167 std::map<ParticleType, G4double>::const_iterator i =
fermiMomentum.find(t);
261 const G4bool pionPotential;
262 G4double vPiPlus, vPiZero, vPiMinus;
264 G4double vKPlus, vKZero, vKZeroBar, vKMinus;
265 static const G4double vKPlusDefault;
266 static const G4double vKMinusDefault;
Deuteron density in r and p according to the Paris potential.
G4double computePionPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion.
std::map< ParticleType, G4double > fermiMomentum
G4double getFermiMomentum(const Particle *const p) const
Return the Fermi momentum for a particle.
G4double getSeparationEnergy(const Particle *const p) const
Return the separation energy for a particle.
const G4int theA
The mass number of the nucleus.
G4bool hasPionPotential() const
Do we have a pion potential?
std::map< ParticleType, G4double > separationEnergy
virtual G4double computePotentialEnergy(const Particle *const p) const =0
G4double getSeparationEnergy(const ParticleType t) const
Return the separation energy for a particle type.
G4double computePionResonancePotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion resonances (Eta, Omega and EtaPrime and Gamma also).
G4double getFermiMomentum(const ParticleType t) const
Return the Fermi momentum for a particle type.
virtual ~INuclearPotential()
G4double getFermiEnergy(const ParticleType t) const
Return the Fermi energy for a particle type.
G4double computeKaonPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given kaon.
INuclearPotential(const G4int A, const G4int Z, const G4bool pionPot)
std::map< ParticleType, G4double > fermiEnergy
G4double getFermiEnergy(const Particle *const p) const
Return the Fermi energy for a particle.
const G4int theZ
The charge number of the nucleus.
G4bool isOutOfWell() const
Check if the particle is out of its potential well.
G4INCL::ParticleType getType() const
G4double getMass() const
Get the cached particle mass.
G4bool isDelta() const
Is it a Delta?
G4double pow13(G4double x)
void clearCache()
Clear the INuclearPotential cache.
INuclearPotential const * createPotential(const PotentialType type, const G4int theA, const G4int theZ, const G4bool pionPotential)
Create an INuclearPotential object.
const G4double eSquared
Coulomb conversion factor [MeV*fm].