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;
322 (A-Z)*neutron_mass_excess + Z*hydrogen_mass_excess -
BindingEnergy(A,Z) + A*amu_c2;
329 if (A < 1 || Z < 0 || Z > A) {
332 G4cout <<
"G4NucleiProperties::NuclearMass: Wrong values for A = "
333 << A <<
" and Z = " << Z <<
G4endl;
341 mass -= Z*electron_mass_c2;
342 mass += ( 14.4381*std::pow ( Z , 2.39 ) + 1.55468*1e-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);
static G4bool IsInTable(G4int Z, G4int A)
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ThreadLocal G4double mass_deuteron
static G4bool IsInTable(G4int Z, G4int A)
static G4double AtomicMass(G4double A, G4double Z)
static G4double GetNuclearMass(G4int Z, G4int A)
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetAtomicMass(G4int Z, G4int A)
static G4double GetAtomicMass(const G4double A, const G4double Z)
static G4double BindingEnergy(G4double A, G4double Z)
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4ThreadLocal G4double mass_neutron
static void UseOldAMETable(G4bool val=true)
static G4double GetMassExcess(const G4int A, const G4int Z)
static G4double GetNuclearMass(G4int Z, G4int A)
G4GLOB_DLL std::ostream G4cout
double A(double temperature)
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4double NuclearMass(G4double A, G4double Z)
static G4ThreadLocal G4double mass_triton
static G4ThreadLocal G4double mass_proton
static bool IsInStableTable(const G4double A, const G4double Z)
static G4double GetMassExcess(G4int Z, G4int A)
static G4double GetNuclearMass(G4int Z, G4int A)
static constexpr double eV
static G4double GetBindingEnergy(G4int Z, G4int A)
static G4ThreadLocal G4double mass_He3
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
static G4double GetBindingEnergy(const G4int A, const G4int Z)
static G4bool IsInTable(G4int Z, G4int A)
static G4double GetMassExcess(G4int Z, G4int A)
static G4ThreadLocal G4double mass_alpha
static constexpr double MeV
static G4bool use_old_evaluation
static G4double GetMassExcess(G4int Z, G4int A)
static G4double MassExcess(G4double A, G4double Z)