Ignore:
Timestamp:
Dec 22, 2010, 3:52:27 PM (13 years ago)
Author:
garnier
Message:

geant4 tag 9.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc

    r1340 r1347  
    2424// ********************************************************************
    2525//
    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 $
    2928//
    3029// Hadronic Process: Nuclear De-excitations
     
    3332
    3433#include "G4PairingCorrection.hh"
    35 
    3634
    3735G4PairingCorrection* G4PairingCorrection::theInstance = 0;
     
    4947G4PairingCorrection* G4PairingCorrection::GetInstance()
    5048{
    51   static G4PairingCorrection theCorrections;
    52   if (!theInstance)  { theInstance = &theCorrections; }
     49  if (!theInstance)  {
     50    static G4PairingCorrection theCorrections;
     51    theInstance = &theCorrections;
     52  }
    5353  return theInstance;
    5454}   
     55
     56G4double 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
     75G4double 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.