G4StatMFMacroTriNucleon Class Reference

#include <G4StatMFMacroTriNucleon.hh>

Inheritance diagram for G4StatMFMacroTriNucleon:

G4VStatMFMacroCluster

Public Member Functions

 G4StatMFMacroTriNucleon ()
 ~G4StatMFMacroTriNucleon ()
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 G4StatMFMacroTriNucleon.hh.


Constructor & Destructor Documentation

G4StatMFMacroTriNucleon::G4StatMFMacroTriNucleon (  )  [inline]

Definition at line 43 of file G4StatMFMacroTriNucleon.hh.

00043 : G4VStatMFMacroCluster(3) {};

G4StatMFMacroTriNucleon::~G4StatMFMacroTriNucleon (  )  [inline]

Definition at line 46 of file G4StatMFMacroTriNucleon.hh.

00046 {};


Member Function Documentation

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

Implements G4VStatMFMacroCluster.

Definition at line 88 of file G4StatMFMacroTriNucleon.cc.

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

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

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

Implements G4VStatMFMacroCluster.

Definition at line 100 of file G4StatMFMacroTriNucleon.cc.

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

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

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

Implements G4VStatMFMacroCluster.

Definition at line 61 of file G4StatMFMacroTriNucleon.cc.

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

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

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

Implements G4VStatMFMacroCluster.

Definition at line 64 of file G4StatMFMacroTriNucleon.hh.

References G4VStatMFMacroCluster::theZARatio.

00064 {return theZARatio = 0.5;}


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