Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4StatMFMicroManager Class Reference

#include <G4StatMFMicroManager.hh>

Public Member Functions

 G4StatMFMicroManager (const G4Fragment &theFragment, const G4int multiplicity, const G4double FreeIntE, const G4double SCompNuc)
 
 ~G4StatMFMicroManager ()
 
G4bool operator== (const G4StatMFMicroManager &right) const
 
G4bool operator!= (const G4StatMFMicroManager &right) const
 
G4StatMFChannelChooseChannel (const G4double A0, const G4double Z0, const G4double MeanT)
 
G4double GetProbability (void) const
 
void Normalize (const G4double Norm)
 
G4double GetMeanMultiplicity (void) const
 
G4double GetMeanTemperature (void) const
 
G4double GetMeanEntropy (void) const
 

Detailed Description

Definition at line 44 of file G4StatMFMicroManager.hh.

Constructor & Destructor Documentation

◆ G4StatMFMicroManager()

G4StatMFMicroManager::G4StatMFMicroManager ( const G4Fragment theFragment,
const G4int  multiplicity,
const G4double  FreeIntE,
const G4double  SCompNuc 
)

Definition at line 67 of file G4StatMFMicroManager.cc.

68 :
69 _Normalization(0.0)
70{
71 // Perform class initialization
72 Initialize(theFragment,multiplicity,FreeIntE,SCompNuc);
73}

Referenced by G4StatMFMicroManager().

◆ ~G4StatMFMicroManager()

G4StatMFMicroManager::~G4StatMFMicroManager ( )

Definition at line 77 of file G4StatMFMicroManager.cc.

78{
79 if (!_Partition.empty())
80 {
81 std::for_each(_Partition.begin(),_Partition.end(),
82 DeleteFragment());
83 }
84}

Member Function Documentation

◆ ChooseChannel()

G4StatMFChannel * G4StatMFMicroManager::ChooseChannel ( const G4double  A0,
const G4double  Z0,
const G4double  MeanT 
)

Definition at line 185 of file G4StatMFMicroManager.cc.

187{
188 G4double RandNumber = _Normalization * _WW * G4UniformRand();
189 G4double AccumWeight = 0.0;
190
191 for (std::vector<G4StatMFMicroPartition*>::iterator i = _Partition.begin();
192 i != _Partition.end(); ++i)
193 {
194 AccumWeight += (*i)->GetProbability();
195 if (RandNumber < AccumWeight)
196 return (*i)->ChooseZ(A0,Z0,MeanT);
197 }
198
199 throw G4HadronicException(__FILE__, __LINE__,
200 "G4StatMFMicroCanonical::ChooseChannel: Couldn't find a channel.");
201 return 0;
202}
double G4double
Definition: G4Types.hh:64
#define G4UniformRand()
Definition: Randomize.hh:53

◆ GetMeanEntropy()

G4double G4StatMFMicroManager::GetMeanEntropy ( void  ) const
inline

Definition at line 86 of file G4StatMFMicroManager.hh.

86{return _MeanEntropy; }

◆ GetMeanMultiplicity()

G4double G4StatMFMicroManager::GetMeanMultiplicity ( void  ) const
inline

Definition at line 82 of file G4StatMFMicroManager.hh.

82{return _MeanMultiplicity; }

◆ GetMeanTemperature()

G4double G4StatMFMicroManager::GetMeanTemperature ( void  ) const
inline

Definition at line 84 of file G4StatMFMicroManager.hh.

84{return _MeanTemperature; }

◆ GetProbability()

G4double G4StatMFMicroManager::GetProbability ( void  ) const
inline

Definition at line 78 of file G4StatMFMicroManager.hh.

78{return _WW;}

◆ Normalize()

void G4StatMFMicroManager::Normalize ( const G4double  Norm)

Definition at line 174 of file G4StatMFMicroManager.cc.

175{
176 _Normalization = Norm;
177 _WW /= Norm;
178 _MeanMultiplicity /= Norm;
179 _MeanTemperature /= Norm;
180 _MeanEntropy /= Norm;
181
182 return;
183}

◆ operator!=()

G4bool G4StatMFMicroManager::operator!= ( const G4StatMFMicroManager right) const

Definition at line 59 of file G4StatMFMicroManager.cc.

60{
61 return true;
62}

◆ operator==()

G4bool G4StatMFMicroManager::operator== ( const G4StatMFMicroManager right) const

Definition at line 53 of file G4StatMFMicroManager.cc.

54{
55 return false;
56}

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