34 #define INCLXX_IN_GEANT4_MODE 1
54 namespace NuclearPotential {
81 vProton = theProtonFermiEnergy + theProtonSeparationEnergy;
89 vNeutron = theNeutronFermiEnergy + theNeutronSeparationEnergy;
91 const G4double separationEnergyDeltaPlusPlus = 2.*theProtonSeparationEnergy - theNeutronSeparationEnergy;
95 const G4double separationEnergyDeltaMinus = 2.*theNeutronSeparationEnergy - theProtonSeparationEnergy;
141 INCL_DEBUG(
"Table of separation energies [MeV] for A=" << theA <<
", Z=" <<
theZ <<
":" <<
'\n'
142 <<
" proton: " << separationEnergy[
Proton] <<
'\n'
143 <<
" neutron: " << separationEnergy[
Neutron] <<
'\n'
145 <<
" delta+: " << separationEnergy[
DeltaPlus] <<
'\n'
146 <<
" delta0: " << separationEnergy[
DeltaZero] <<
'\n'
147 <<
" delta-: " << separationEnergy[
DeltaMinus] <<
'\n'
148 <<
" pi+: " << separationEnergy[
PiPlus] <<
'\n'
149 <<
" pi0: " << separationEnergy[
PiZero] <<
'\n'
150 <<
" pi-: " << separationEnergy[
PiMinus] <<
'\n'
151 <<
" eta: " << separationEnergy[
Eta] <<
'\n'
152 <<
" omega: " << separationEnergy[
Omega] <<
'\n'
153 <<
" etaprime:" << separationEnergy[
EtaPrime] <<
'\n'
154 <<
" photon: " << separationEnergy[
Photon] <<
'\n'
155 <<
" lambda: " << separationEnergy[
Lambda] <<
'\n'
156 <<
" sigmaplus: " << separationEnergy[
SigmaPlus] <<
'\n'
157 <<
" sigmazero: " << separationEnergy[
SigmaZero] <<
'\n'
158 <<
" sigmaminus: " << separationEnergy[
SigmaMinus] <<
'\n'
159 <<
" kplus: " << separationEnergy[
KPlus] <<
'\n'
160 <<
" kzero: " << separationEnergy[
KZero] <<
'\n'
161 <<
" kzerobar: " << separationEnergy[
KZeroBar] <<
'\n'
162 <<
" kminus: " << separationEnergy[
KMinus] <<
'\n'
163 <<
" kshort: " << separationEnergy[
KShort] <<
'\n'
164 <<
" klong: " << separationEnergy[
KLong] <<
'\n'
167 INCL_DEBUG(
"Table of Fermi energies [MeV] for A=" << theA <<
", Z=" <<
theZ <<
":" <<
'\n'
180 INCL_DEBUG(
"Table of Fermi momenta [MeV/c] for A=" << theA <<
", Z=" <<
theZ <<
":" <<
'\n'
248 INCL_ERROR(
"No potential computed for particle of type Cluster.");
252 INCL_ERROR(
"Trying to compute potential energy for an unknown particle.");
257 INCL_ERROR(
"There is no potential for this type of particle.");
T max(const T t1, const T t2)
brief Return the largest of the two arguments
std::map< ParticleType, G4double > fermiEnergy
const G4int theA
The mass number of the nucleus.
G4ThreadLocal FermiMomentumFn getFermiMomentum
virtual G4double computePotentialEnergy(const Particle *const p) const
virtual ~NuclearPotentialIsospin()
const G4int theZ
The charge number of the nucleus.
G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
G4double pow13(G4double x)
std::map< ParticleType, G4double > separationEnergy
G4double computePionPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion.
std::map< ParticleType, G4double > fermiMomentum
double A(double temperature)
NuclearPotentialIsospin(const G4int A, const G4int Z, const G4bool pionPotential)
G4double computeKaonPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given kaon.
Isospin-dependent nuclear potential.
Isospin- and energy-independent nuclear potential.
G4INCL::ParticleType getType() const
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)...