34#define INCLXX_IN_GEANT4_MODE 1
58 namespace NuclearPotential {
74 const long nuclideID = (pionPotential ? 1 : -1) * (1000*theZ + theA + 1000000*type);
75 const std::map<long,INuclearPotential const *>::const_iterator mapEntry =
nuclearPotentialCache->find(nuclideID);
92 INCL_FATAL(
"Unrecognized potential type at Nucleus creation." <<
'\n');
95 (*nuclearPotentialCache)[nuclideID] = thePotential;
98 return mapEntry->second;
Abstract interface to the nuclear potential.
Isospin- and energy-independent nuclear potential.
Isospin- and energy-dependent nuclear potential.
Isospin- and energy-dependent nuclear potential.
Isospin-dependent nuclear potential.
static const G4double vKMinusDefault
static const G4double vKPlusDefault
static const G4double vPionDefault
G4ThreadLocal std::map< long, INuclearPotential const * > * nuclearPotentialCache
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.
@ IsospinEnergySmoothPotential