Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4StatMFFragment Class Reference

#include <G4StatMFFragment.hh>

Public Member Functions

 G4StatMFFragment (G4int anA, G4int aZ)
 
virtual ~G4StatMFFragment ()
 
G4bool operator== (const G4StatMFFragment &right) const
 
G4bool operator!= (const G4StatMFFragment &right) const
 
G4double GetCoulombEnergy (void) const
 
G4double GetEnergy (const G4double T) const
 
G4double GetInvLevelDensity (void) const
 
G4int GetA (void) const
 
G4int GetZ (void) const
 
void SetPosition (const G4ThreeVector aPosition)
 
G4ThreeVector GetPosition (void)
 
void SetMomentum (const G4ThreeVector aMomentum)
 
G4ThreeVector GetMomentum (void)
 
G4FragmentGetFragment (const G4double T)
 
G4double GetNuclearMass (void)
 

Detailed Description

Definition at line 41 of file G4StatMFFragment.hh.

Constructor & Destructor Documentation

G4StatMFFragment::G4StatMFFragment ( G4int  anA,
G4int  aZ 
)
inline

Definition at line 45 of file G4StatMFFragment.hh.

45  :
46  theA(anA),theZ(aZ),
47  _position(0.0,0.0,0.0),
48  _momentum(0.0,0.0,0.0)
49  {}
virtual G4StatMFFragment::~G4StatMFFragment ( )
inlinevirtual

Definition at line 53 of file G4StatMFFragment.hh.

53 {};

Member Function Documentation

G4int G4StatMFFragment::GetA ( void  ) const
inline

Definition at line 77 of file G4StatMFFragment.hh.

77 {return theA;}
G4double G4StatMFFragment::GetCoulombEnergy ( void  ) const

Definition at line 64 of file G4StatMFFragment.cc.

65 {
66  G4double res = 0.0;
67  if (theZ >= 1) {
69  }
70  return res;
71 }
static G4double GetCoulomb()
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4double G4StatMFFragment::GetEnergy ( const G4double  T) const

Definition at line 73 of file G4StatMFFragment.cc.

74 {
75  if (theA < 1 || theZ < 0 || theZ > theA) {
76  G4cout << "G4StatMFFragment::GetEnergy: A = " << theA
77  << ", Z = " << theZ << G4endl;
78  throw G4HadronicException(__FILE__, __LINE__,
79  "G4StatMFFragment::GetEnergy: Wrong values for A and Z!");
80  }
81  G4double BulkEnergy = G4NucleiProperties::GetMassExcess(theA,theZ);
82 
83  if (theA < 4) return BulkEnergy - GetCoulombEnergy();
84 
85  G4double SurfaceEnergy;
86  if (G4StatMFParameters::DBetaDT(T) == 0.0) SurfaceEnergy = 0.0;
87  else SurfaceEnergy = 2.5*G4Pow::GetInstance()->Z23(theA)*T*T*
91 
92  G4double ExchangeEnergy = theA*T*T/GetInvLevelDensity();
93  if (theA != 4) ExchangeEnergy += SurfaceEnergy;
94  return BulkEnergy + ExchangeEnergy - GetCoulombEnergy();
95 }
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
G4double GetCoulombEnergy(void) const
static G4double GetMassExcess(const G4int A, const G4int Z)
G4GLOB_DLL std::ostream G4cout
static G4double DBetaDT(G4double T)
G4double Z23(G4int Z) const
Definition: G4Pow.hh:154
#define G4endl
Definition: G4ios.hh:61
static G4double GetBeta0()
double G4double
Definition: G4Types.hh:76
G4double GetInvLevelDensity(void) const
static G4double GetCriticalTemp()

Here is the call graph for this function:

G4Fragment * G4StatMFFragment::GetFragment ( const G4double  T)

Definition at line 106 of file G4StatMFFragment.cc.

107 {
108  G4double U = CalcExcitationEnergy(T);
109  G4double M = GetNuclearMass();
110  G4LorentzVector FourMomentum(_momentum,std::sqrt(_momentum.mag2()+(M+U)*(M+U)));
111  G4Fragment * theFragment = new G4Fragment(theA, theZ, FourMomentum);
112  return theFragment;
113 }
G4double GetNuclearMass(void)
double mag2() const
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4double G4StatMFFragment::GetInvLevelDensity ( void  ) const

Definition at line 97 of file G4StatMFFragment.cc.

98 {
99  G4double res = 0.0;
100  if (theA > 1) {
101  res = G4StatMFParameters::GetEpsilon0()*(1.0+3.0/(theA - 1.0));
102  }
103  return res;
104 }
static G4double GetEpsilon0()
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

G4ThreeVector G4StatMFFragment::GetMomentum ( void  )
inline

Definition at line 87 of file G4StatMFFragment.hh.

87 {return _momentum;}
G4double G4StatMFFragment::GetNuclearMass ( void  )
inline

Definition at line 91 of file G4StatMFFragment.hh.

93  ->GetIonMass(theZ, theA);}
G4IonTable * GetIonTable() const
G4double GetIonMass(G4int Z, G4int A, G4int L=0, G4int lvl=0) const
Definition: G4IonTable.cc:1335
static G4ParticleTable * GetParticleTable()

Here is the call graph for this function:

Here is the caller graph for this function:

G4ThreeVector G4StatMFFragment::GetPosition ( void  )
inline

Definition at line 83 of file G4StatMFFragment.hh.

83 {return _position;}
G4int G4StatMFFragment::GetZ ( void  ) const
inline

Definition at line 79 of file G4StatMFFragment.hh.

79 {return theZ;}
G4bool G4StatMFFragment::operator!= ( const G4StatMFFragment right) const

Definition at line 58 of file G4StatMFFragment.cc.

59 {
60 // throw G4HadronicException(__FILE__, __LINE__, "G4StatMFFragment::operator!= meant to not be accessable");
61  return true;
62 }
G4bool G4StatMFFragment::operator== ( const G4StatMFFragment right) const

Definition at line 52 of file G4StatMFFragment.cc.

53 {
54 // throw G4HadronicException(__FILE__, __LINE__, "G4StatMFFragment::operator== meant to not be accessable");
55  return false;
56 }
void G4StatMFFragment::SetMomentum ( const G4ThreeVector  aMomentum)
inline

Definition at line 85 of file G4StatMFFragment.hh.

85 {_momentum = aMomentum;}
void G4StatMFFragment::SetPosition ( const G4ThreeVector  aPosition)
inline

Definition at line 81 of file G4StatMFFragment.hh.

81 {_position = aPosition;}

The documentation for this class was generated from the following files: