- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/cascade/cascade/src/bindingEnergy.cc
r819 r1340 23 23 // * acceptance of all terms of the Geant4 Software license. * 24 24 // ******************************************************************** 25 // $Id: bindingEnergy.cc,v 1.10 2010/09/14 17:51:36 mkelsey Exp $ 25 26 // 27 // 20100622 M. Kelsey -- Replace all functionally with call-through to 28 // G4NucleiProperties. Check for valid A/Z and return zero 29 // without warning message. 30 // 20100914 M. Kelsey -- Migrate to integer A and Z 31 26 32 #include "G4InuclSpecialFunctions.hh" 33 #include "G4NucleiProperties.hh" 27 34 28 G4double G4InuclSpecialFunctions::bindingEnergy(G4double A, G4double Z) {29 G4int verboseLevel = 2;30 35 31 if (verboseLevel > 3) {32 G4cout << " >>> G4InuclSpecialFunctions::bindingEnergy" << G4endl;33 }36 G4double G4InuclSpecialFunctions::bindingEnergy(G4int A, G4int Z) { 37 // NOTE: Test condition copied from G4NucleiProperties.cc; not encapsulated 38 if (A < 1 || Z < 0 || Z > A) return 0.; 34 39 35 // calculates the nuclei binding energy using Kummel or exact or asymptotic 36 // high temperature 37 G4double DM; 38 G4double AN = A - Z; 39 40 if (AN < 0.1 || Z < 0.1) { 41 DM = 0.0; 42 43 } else { 44 45 if (A <= 256.0) { 46 47 if (AN >= 20. && Z >= 20) { 48 49 if (Z < 1.7 * AN && Z > 0.3 * AN) { // standard 50 DM = bindingEnergyKummel(A, Z); 51 52 } else { // bad case 53 DM = bindingEnergyAsymptotic(A, Z); 54 }; 55 56 } else { 57 58 if (A > 60.0 || Z > 21) { // bad case 59 DM = bindingEnergyAsymptotic(A, Z); 60 61 } else { // exact case 62 DM = bindingEnergyExact(A, Z); 63 }; 64 }; 65 66 } else { 67 DM = bindingEnergyAsymptotic(A, Z); 68 }; 69 }; 70 71 // G4cout << " A " << A << " Z " << Z << " DM " << DM << G4endl; 72 73 return DM; 40 return G4NucleiProperties::GetBindingEnergy(A, Z); 74 41 }
Note: See TracChangeset
for help on using the changeset viewer.