58 #ifndef G4NucleiProperties_USE_OLD_AME_TABLE
68 if (std::fabs(A -
G4int(A)) > 1.
e-10) {
101 if (A < 1 || Z < 0 || Z > A) {
104 G4cout <<
"G4NucleiProperties::GetNuclearMass: Wrong values for A = " << A
105 <<
" and Z = " << Z <<
G4endl;
114 if ( (Z==1)&&(A==1) ) {
116 }
else if ( (Z==0)&&(A==1) ) {
118 }
else if ( (Z==1)&&(A==2) ) {
120 }
else if ( (Z==1)&&(A==3) ) {
122 }
else if ( (Z==2)&&(A==4) ) {
124 }
else if ( (Z==2)&&(A==3) ) {
130 G4bool inAMETable =
false;
151 if (mass < 0.) mass = 0.0;
164 if (A < 1 || Z < 0 || Z > A) {
167 G4cout <<
"G4NucleiProperties::IsInStableTable: Wrong values for A = "
168 << A <<
" and Z = " << Z <<
G4endl;
190 if (A < 1 || Z < 0 || Z > A) {
193 G4cout <<
"G4NucleiProperties::GetMassExccess: Wrong values for A = "
194 << A <<
" and Z = " << Z <<
G4endl;
201 G4bool inAMETable =
false;
226 if (A < 1 || Z < 0 || Z > A) {
229 G4cout <<
"G4NucleiProperties::GetAtomicMass: Wrong values for A = "
230 << A <<
" and Z = " << Z <<
G4endl;
235 }
else if (std::fabs(A -
G4int(A)) > 1.
e-10) {
241 G4bool inAMETable =
false;
270 if (A < 1 || Z < 0 || Z > A) {
273 G4cout <<
"G4NucleiProperties::GetMassExccess: Wrong values for A = "
274 << A <<
" and Z = " << Z <<
G4endl;
280 G4bool inAMETable =
false;
329 if (A < 1 || Z < 0 || Z > A) {
332 G4cout <<
"G4NucleiProperties::NuclearMass: Wrong values for A = "
333 << A <<
" and Z = " << Z <<
G4endl;
342 mass += ( 14.4381*std::pow ( Z , 2.39 ) + 1.55468*1
e-6*std::pow ( Z , 5.35 ) )*
eV;
356 + 17.23*std::pow(A,2./3.)
357 + 93.15*((A/2.-
Z)*(A/2.-Z))/A
358 + 0.6984523*Z*Z*std::pow(A,-1./3.);
359 if( Npairing == Zpairing ) binding += (Npairing+Zpairing-1) * 12.0 / std::sqrt(A);
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4double GetMassExcess(G4int Z, G4int A)
static void UseOldAMETable(G4bool val=true)
static G4double GetNuclearMass(G4int Z, G4int A)
static G4ParticleTable * GetParticleTable()
static constexpr double MeV
static G4bool IsInTable(G4int Z, G4int A)
static G4double MassExcess(G4double A, G4double Z)
static G4ThreadLocal G4double mass_neutron
static G4double GetAtomicMass(G4int Z, G4int A)
static bool IsInStableTable(const G4double A, const G4double Z)
static G4double GetBindingEnergy(G4int Z, G4int A)
G4double GetPDGMass() const
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4ThreadLocal G4double mass_He3
static G4double GetBindingEnergy(const G4int A, const G4int Z)
static constexpr double amu_c2
static G4double GetMassExcess(G4int Z, G4int A)
static G4ThreadLocal G4double mass_proton
static G4double GetAtomicMass(G4int Z, G4int A)
static constexpr double electron_mass_c2
static G4double GetAtomicMass(const G4double A, const G4double Z)
static G4double BindingEnergy(G4double A, G4double Z)
static G4double GetNuclearMass(G4int Z, G4int A)
double A(double temperature)
static G4double GetNuclearMass(const G4double A, const G4double Z)
static constexpr double eV
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetMassExcess(G4int Z, G4int A)
static G4bool IsInTable(G4int Z, G4int A)
static G4ThreadLocal G4double mass_deuteron
static G4bool IsInTable(G4int Z, G4int A)
static G4bool use_old_evaluation
static G4double GetNuclearMass(G4int Z, G4int A)
G4GLOB_DLL std::ostream G4cout
static G4double AtomicMass(G4double A, G4double Z)
static G4ThreadLocal G4double mass_alpha
static G4ThreadLocal G4double mass_triton
static G4double GetMassExcess(const G4int A, const G4int Z)
static G4double NuclearMass(G4double A, G4double Z)