33 #define INCLXX_IN_GEANT4_MODE 1
37 #ifndef G4INCLParticleTable_hh
38 #define G4INCLParticleTable_hh 1
49 #ifdef INCLXX_IN_GEANT4_MODE
89 #ifndef INCLXX_IN_GEANT4_MODE
90 static G4double hasMassTable(
const unsigned int A,
const unsigned int Z) {
92 return ( Z > 0 && A > 0
93 && Z < massTableMask.size() && A < massTableMask.at(Z).size()
94 && massTableMask.at(Z).at(A));
107 const G4int Npairing = (A-
Z)%2;
108 const G4int Zpairing = Z%2;
114 + 93.15*((fA/2.-fZ)*(fA/2.-fZ))/fA
116 if( Npairing == Zpairing ) binding += (Npairing+Zpairing-1) * 12.0 / std::sqrt(fA);
221 return momentumRMS[
Z][A];
229 return theINCLProtonSeparationEnergy;
231 return theINCLNeutronSeparationEnergy;
233 ERROR(
"ParticleTable::getSeparationEnergyINCL : Unknown particle type." << std::endl);
246 ERROR(
"ParticleTable::getSeparationEnergyReal : Unknown particle type." << std::endl);
305 #ifdef INCLXX_IN_GEANT4_MODE
308 static std::vector< std::vector <G4bool> > massTableMask;
309 static std::vector< std::vector <G4double> > massTable;
344 static const G4double theINCLNucleonMass;
345 static const G4double theINCLPionMass;
346 static const G4double theINCLNeutronSeparationEnergy;
347 static const G4double theINCLProtonSeparationEnergy;
350 static G4double neutronSeparationEnergy;
351 static G4double protonSeparationEnergy;
352 static G4double piPlusMass, piMinusMass, piZeroMass;
355 static G4double theRealChargedPiMass;
358 const static G4int mediumNucleiTableSize = 30;
359 const static G4double mediumDiffuseness[mediumNucleiTableSize];
360 const static G4double mediumRadius[mediumNucleiTableSize];
366 #ifndef INCLXX_IN_GEANT4_MODE
367 static void readRealMasses(std::string
const &path);
371 const static std::string elementIUPACDigits;
374 static char iupacToInt(
char c) {
375 return (
char)(((
G4int)
'0')+elementIUPACDigits.find(c));
379 static char intToIUPAC(
char n) {
return elementIUPACDigits.at(n); }
382 static const NaturalIsotopicDistributions *theNaturalIsotopicDistributions;
385 static const NaturalIsotopicDistributions *getNaturalIsotopicDistributions() {
386 if(!theNaturalIsotopicDistributions)
387 theNaturalIsotopicDistributions =
new NaturalIsotopicDistributions;
388 return theNaturalIsotopicDistributions;