34 #define INCLXX_IN_GEANT4_MODE 1
52 namespace NuclearPotential {
65 void NuclearPotentialConstant::initialize() {
72 const G4double theProtonFermiEnergy = std::sqrt(theFermiMomentum*theFermiMomentum + mp*mp) - mp;
76 const G4double theNeutronFermiEnergy = std::sqrt(theFermiMomentum*theFermiMomentum + mn*mn) - mn;
89 vNucleon = 0.5*(theProtonFermiEnergy + theNeutronFermiEnergy) + theAverageSeparationEnergy;
105 INCL_DEBUG(
"Table of separation energies [MeV] for A=" <<
theA <<
", Z=" <<
theZ <<
":" <<
'\n'
121 INCL_DEBUG(
"Table of Fermi energies [MeV] for A=" <<
theA <<
", Z=" <<
theZ <<
":" <<
'\n'
130 INCL_DEBUG(
"Table of Fermi momenta [MeV/c] for A=" <<
theA <<
", Z=" <<
theZ <<
":" <<
'\n'
168 INCL_ERROR(
"Trying to compute potential energy of an unknown particle.");
172 INCL_ERROR(
"Trying to compute potential energy of a malformed particle.");
NuclearPotentialConstant(const G4int A, const G4int Z, const G4bool pionPotential)
std::map< ParticleType, G4double > fermiEnergy
double A(double temperature)
const G4int theA
The mass number of the nucleus.
virtual G4double computePotentialEnergy(const Particle *const p) const
Isospin- and energy-independent nuclear potential.
G4ThreadLocal SeparationEnergyFn getSeparationEnergy
Static pointer to the separation-energy function.
G4double computePionResonancePotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion resonances (Eta, Omega and EtaPrime and Gamma also)...
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
G4INCL::ParticleType getType() const
std::map< ParticleType, G4double > separationEnergy
const G4int theZ
The charge number of the nucleus.
G4double computePionPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion.
virtual ~NuclearPotentialConstant()
std::map< ParticleType, G4double > fermiMomentum
G4ThreadLocal FermiMomentumFn getFermiMomentum