G4StatMFMacroMultiNucleon Class Reference

#include <G4StatMFMacroMultiNucleon.hh>

Inheritance diagram for G4StatMFMacroMultiNucleon:

G4VStatMFMacroCluster

Public Member Functions

 G4StatMFMacroMultiNucleon (const G4int Size)
 ~G4StatMFMacroMultiNucleon ()
G4double CalcMeanMultiplicity (const G4double FreeVol, const G4double mu, const G4double nu, const G4double T)
G4double CalcZARatio (const G4double nu)
G4double CalcEnergy (const G4double T)
G4double CalcEntropy (const G4double T, const G4double FreeVol)

Detailed Description

Definition at line 38 of file G4StatMFMacroMultiNucleon.hh.


Constructor & Destructor Documentation

G4StatMFMacroMultiNucleon::G4StatMFMacroMultiNucleon ( const G4int  Size  )  [inline]

Definition at line 43 of file G4StatMFMacroMultiNucleon.hh.

00043 : G4VStatMFMacroCluster(Size) {};

G4StatMFMacroMultiNucleon::~G4StatMFMacroMultiNucleon (  )  [inline]

Definition at line 46 of file G4StatMFMacroMultiNucleon.hh.

00046 {};


Member Function Documentation

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

Implements G4VStatMFMacroCluster.

Definition at line 126 of file G4StatMFMacroMultiNucleon.cc.

References G4VStatMFMacroCluster::_Energy, G4VStatMFMacroCluster::_InvLevelDensity, A23, G4StatMFParameters::Beta(), G4StatMFParameters::DBetaDT(), G4StatMFParameters::GetE0(), G4StatMFParameters::GetGamma0(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.

00127 {
00128     const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())*
00129         (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.));
00130         
00131     const G4double A23 = std::pow(static_cast<G4double>(theA),2./3.);
00132 
00133     // Volume term 
00134     G4double EVol = static_cast<G4double>(theA) * (T*T/_InvLevelDensity - G4StatMFParameters::GetE0());
00135         
00136     // Symmetry term
00137     G4double ESym = static_cast<G4double>(theA) * G4StatMFParameters::GetGamma0() *(1. - 2.* theZARatio) * (1. - 2.* theZARatio);
00138         
00139     // Surface term
00140     G4double ESurf = A23*(G4StatMFParameters::Beta(T) - T*G4StatMFParameters::DBetaDT(T));
00141  
00142     // Coulomb term
00143     G4double ECoul = Coulomb*A23*static_cast<G4double>(theA)*theZARatio*theZARatio;
00144         
00145     // Translational term
00146     G4double ETrans = (3./2.)*T;
00147         
00148        
00149     return _Energy = EVol + ESurf + ECoul + ETrans + ESym;
00150 }

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

Implements G4VStatMFMacroCluster.

Definition at line 153 of file G4StatMFMacroMultiNucleon.cc.

References G4VStatMFMacroCluster::_InvLevelDensity, G4VStatMFMacroCluster::_MeanMultiplicity, G4StatMFParameters::DBetaDT(), and G4VStatMFMacroCluster::theA.

00154 {
00155     const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
00156     const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
00157 
00158     G4double Entropy = 0.0;
00159     if (_MeanMultiplicity > 0.0) {
00160         // Volume term
00161         G4double SV = 2.0*static_cast<G4double>(theA)*T/_InvLevelDensity;
00162                 
00163         // Surface term
00164         G4double SS = -G4StatMFParameters::DBetaDT(T)*std::pow(static_cast<G4double>(theA),2./3.);
00165                 
00166         // Translational term
00167         G4double ST = (5./2.)+std::log(FreeVol * std::sqrt(static_cast<G4double>(theA)) * 
00168                                   static_cast<G4double>(theA)/(lambda3*_MeanMultiplicity));
00169                 
00170                 
00171         Entropy = _MeanMultiplicity*(SV + SS + ST);
00172     }
00173                                                                 
00174                                                                 
00175     return Entropy;
00176 }

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

Implements G4VStatMFMacroCluster.

Definition at line 83 of file G4StatMFMacroMultiNucleon.cc.

References G4VStatMFMacroCluster::_InvLevelDensity, G4VStatMFMacroCluster::_MeanMultiplicity, A23, G4StatMFParameters::Beta(), G4StatMFParameters::GetE0(), G4StatMFParameters::GetGamma0(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.

00085 {
00086     const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
00087         
00088     const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
00089         
00090     const G4double A23 = std::pow(static_cast<G4double>(theA),2./3.);
00091         
00092     const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())*
00093         (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.));
00094         
00095     G4double exponent = (mu + nu*theZARatio+ G4StatMFParameters::GetE0() + T*T/_InvLevelDensity 
00096                          - G4StatMFParameters::GetGamma0()*(1.0 - 2.0*theZARatio)*
00097                          (1.0 - 2.0*theZARatio))*theA
00098         - G4StatMFParameters::Beta(T)*A23 - Coulomb*theZARatio*theZARatio*A23*theA;
00099         
00100     exponent /= T;
00101         
00102     if (exponent > 30.0) exponent = 30.0;
00103         
00104     _MeanMultiplicity = std::max((FreeVol * static_cast<G4double>(theA) * 
00105                                     std::sqrt(static_cast<G4double>(theA))/lambda3) *
00106                                    std::exp(exponent),1.0e-30);
00107     return _MeanMultiplicity;   
00108 }

G4double G4StatMFMacroMultiNucleon::CalcZARatio ( const G4double  nu  )  [virtual]

Implements G4VStatMFMacroCluster.

Definition at line 111 of file G4StatMFMacroMultiNucleon.cc.

References G4StatMFParameters::GetGamma0(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.

00112 {
00113     const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())*
00114         (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.));
00115 
00116     G4double den = 8.0*G4StatMFParameters::GetGamma0()+2.0*Coulomb*std::pow(static_cast<G4double>(theA),2./3.);
00117     G4double num = 4.0*G4StatMFParameters::GetGamma0()+nu;
00118         
00119     return theZARatio = num/den;
00120         
00121 
00122 }


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