G4StatMFMacroBiNucleon Class Reference

#include <G4StatMFMacroBiNucleon.hh>

Inheritance diagram for G4StatMFMacroBiNucleon:

G4VStatMFMacroCluster

Public Member Functions

 G4StatMFMacroBiNucleon ()
 ~G4StatMFMacroBiNucleon ()
G4double CalcMeanMultiplicity (const G4double FreeVol, const G4double mu, const G4double nu, const G4double T)
G4double CalcZARatio (const G4double)
G4double CalcEnergy (const G4double T)
G4double CalcEntropy (const G4double T, const G4double FreeVol)

Detailed Description

Definition at line 38 of file G4StatMFMacroBiNucleon.hh.


Constructor & Destructor Documentation

G4StatMFMacroBiNucleon::G4StatMFMacroBiNucleon (  )  [inline]

Definition at line 43 of file G4StatMFMacroBiNucleon.hh.

00043 : G4VStatMFMacroCluster(2) {};

G4StatMFMacroBiNucleon::~G4StatMFMacroBiNucleon (  )  [inline]

Definition at line 46 of file G4StatMFMacroBiNucleon.hh.

00046 {};


Member Function Documentation

G4double G4StatMFMacroBiNucleon::CalcEnergy ( const G4double  T  )  [virtual]

Implements G4VStatMFMacroCluster.

Definition at line 87 of file G4StatMFMacroBiNucleon.cc.

References G4VStatMFMacroCluster::_Energy, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.

00088 {
00089     const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())*
00090         (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.));
00091                                                                         
00092     _Energy  = -G4NucleiProperties::GetBindingEnergy(theA,1) + 
00093         Coulomb * theZARatio * theZARatio * std::pow(G4double(theA),5./3.) +
00094         (3./2.) * T;
00095                                                         
00096     return      _Energy;                                
00097 }

G4double G4StatMFMacroBiNucleon::CalcEntropy ( const G4double  T,
const G4double  FreeVol 
) [virtual]

Implements G4VStatMFMacroCluster.

Definition at line 101 of file G4StatMFMacroBiNucleon.cc.

References G4VStatMFMacroCluster::_MeanMultiplicity, and G4VStatMFMacroCluster::theA.

00102 {
00103     const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
00104     const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
00105 
00106     G4double Entropy = 0.0;
00107     if (_MeanMultiplicity > 0.0)
00108         // Is this formula correct?
00109         Entropy = _MeanMultiplicity*(5./2.+
00110                                      std::log(3.0*static_cast<G4double>(theA)*
00111                                          std::sqrt(static_cast<G4double>(theA))*FreeVol/
00112                                          (lambda3*_MeanMultiplicity)));
00113                                                                 
00114                                                                 
00115     return Entropy;
00116 }

G4double G4StatMFMacroBiNucleon::CalcMeanMultiplicity ( const G4double  FreeVol,
const G4double  mu,
const G4double  nu,
const G4double  T 
) [virtual]

Implements G4VStatMFMacroCluster.

Definition at line 60 of file G4StatMFMacroBiNucleon.cc.

References G4VStatMFMacroCluster::_MeanMultiplicity, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.

00062 {
00063     const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
00064         
00065     const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
00066     
00067     const G4double degeneracy = 3.0;
00068     
00069     const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())*
00070         (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.));
00071     
00072     const G4double BindingE = G4NucleiProperties::GetBindingEnergy(theA,1); //old value was 2.796*MeV
00073     G4double exponent = (BindingE + theA*(mu+nu*theZARatio) - 
00074                          Coulomb*theZARatio*theZARatio*std::pow(G4double(theA),5./3.))/T;
00075 
00076     // To avoid numerical problems
00077     if (exponent < -700.0) exponent = -700.0;
00078     else if (exponent > 700.0) exponent = 700.0;
00079 
00080     _MeanMultiplicity = (degeneracy*FreeVol*static_cast<G4double>(theA)*std::sqrt(static_cast<G4double>(theA))/lambda3)*
00081         std::exp(exponent);
00082                          
00083     return _MeanMultiplicity;
00084 }

G4double G4StatMFMacroBiNucleon::CalcZARatio ( const   G4double  )  [inline, virtual]

Implements G4VStatMFMacroCluster.

Definition at line 66 of file G4StatMFMacroBiNucleon.hh.

References G4VStatMFMacroCluster::theZARatio.

00066 {return theZARatio = 0.5;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:25 2013 for Geant4 by  doxygen 1.4.7