Changeset 1347 for trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc
- Timestamp:
- Dec 22, 2010, 3:52:27 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc
r1340 r1347 24 24 // ******************************************************************** 25 25 // 26 // 27 // $Id: G4PairingCorrection.cc,v 1.6 2009/11/30 10:33:33 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 26 // $Id: G4PairingCorrection.cc,v 1.8 2010/11/15 12:41:58 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 28 // 30 29 // Hadronic Process: Nuclear De-excitations … … 33 32 34 33 #include "G4PairingCorrection.hh" 35 36 34 37 35 G4PairingCorrection* G4PairingCorrection::theInstance = 0; … … 49 47 G4PairingCorrection* G4PairingCorrection::GetInstance() 50 48 { 51 static G4PairingCorrection theCorrections; 52 if (!theInstance) { theInstance = &theCorrections; } 49 if (!theInstance) { 50 static G4PairingCorrection theCorrections; 51 theInstance = &theCorrections; 52 } 53 53 return theInstance; 54 54 } 55 56 G4double G4PairingCorrection::GetPairingCorrection(G4int A, G4int Z) const 57 { 58 G4double PCorrection = 0.0; 59 G4int N = A - Z; 60 if (theCookPairingCorrections->IsInTableThisN(N) && 61 theCookPairingCorrections->IsInTableThisZ(Z)) 62 PCorrection = theCookPairingCorrections->GetParingCorrection(A,Z); 63 else if (theCameronGilbertPairingCorrections->IsInTableThisN(N) && 64 theCameronGilbertPairingCorrections->IsInTableThisZ(Z)) 65 PCorrection = theCameronGilbertPairingCorrections->GetPairingCorrection(A,Z); 66 else { 67 const G4double PairingConstant = 12.0*MeV; 68 G4double Pair = (1 - Z + 2*(Z/2)) + (1 - N + 2*(N/2)); 69 PCorrection = Pair*PairingConstant/std::sqrt(static_cast<G4double>(A)); 70 } 71 return std::max(PCorrection,0.0); 72 } 73 74 75 G4double G4PairingCorrection::GetFissionPairingCorrection(G4int A, G4int Z) const 76 { 77 const G4double PairingConstant = 14.0*MeV; 78 G4int N = A - Z; 79 G4double Pair = (1 - Z + 2*(Z/2)) + (1 - N + 2*(N/2)); 80 G4double PCorrection = Pair*PairingConstant/std::sqrt(static_cast<G4double>(A)); 81 return PCorrection; 82 }
Note: See TracChangeset
for help on using the changeset viewer.