35#define INCLXX_IN_GEANT4_MODE 1
55 namespace NuclearPotential {
67 void NuclearPotentialIsospin::initialize() {
87 vProton = theProtonFermiEnergy + theProtonSeparationEnergy;
95 vNeutron = theNeutronFermiEnergy + theNeutronSeparationEnergy;
98 vDeltaZero = vNeutron;
99 vDeltaPlusPlus = 2.*vDeltaPlus - vDeltaZero;
100 vDeltaMinus = 2.*vDeltaZero - vDeltaPlus;
131 return vDeltaPlusPlus;
143 ERROR(
"No potential computed for particle of type Cluster.");
147 ERROR(
"Trying to compute potential energy for an unknown particle.");
152 ERROR(
"There is no potential for this type of particle.");
Isospin- and energy-independent nuclear potential.
Isospin-dependent nuclear potential.
G4double computePionPotentialEnergy(const Particle *const p) const
Compute the potential energy for the given pion.
std::map< ParticleType, G4double > fermiMomentum
const G4int theA
The mass number of the nucleus.
std::map< ParticleType, G4double > separationEnergy
std::map< ParticleType, G4double > fermiEnergy
const G4int theZ
The charge number of the nucleus.
NuclearPotentialIsospin(const G4int A, const G4int Z, const G4bool pionPotential)
virtual G4double computePotentialEnergy(const Particle *const p) const
virtual ~NuclearPotentialIsospin()
static G4double getINCLMass(const G4int A, const G4int Z)
Get INCL nuclear mass (in MeV/c^2)
static G4double getMomentumRMS(const G4int A, const G4int Z)
Return the RMS of the momentum distribution (light clusters)
static SeparationEnergyFn getSeparationEnergy
Static pointer to the separation-energy function.
static const G4int clusterTableZSize
static const G4int clusterTableASize
G4INCL::ParticleType getType() const
const G4double sqrtFiveThirds
G4double pow13(G4double x)
const G4double Pf
Fermi momentum [MeV/c].