#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 |
G4StatMFChannel * | ChooseChannel (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 |
Data Structures | |
struct | DeleteFragment |
Definition at line 44 of file G4StatMFMicroManager.hh.
G4StatMFMicroManager::G4StatMFMicroManager | ( | const G4Fragment & | theFragment, | |
const G4int | multiplicity, | |||
const G4double | FreeIntE, | |||
const G4double | SCompNuc | |||
) |
Definition at line 67 of file G4StatMFMicroManager.cc.
References G4StatMFMicroManager().
Referenced by G4StatMFMicroManager().
00068 : 00069 _Normalization(0.0) 00070 { 00071 // Perform class initialization 00072 Initialize(theFragment,multiplicity,FreeIntE,SCompNuc); 00073 }
G4StatMFMicroManager::~G4StatMFMicroManager | ( | ) |
Definition at line 77 of file G4StatMFMicroManager.cc.
00078 { 00079 if (!_Partition.empty()) 00080 { 00081 std::for_each(_Partition.begin(),_Partition.end(), 00082 DeleteFragment()); 00083 } 00084 }
G4StatMFChannel * G4StatMFMicroManager::ChooseChannel | ( | const G4double | A0, | |
const G4double | Z0, | |||
const G4double | MeanT | |||
) |
Definition at line 185 of file G4StatMFMicroManager.cc.
References G4UniformRand.
00187 { 00188 G4double RandNumber = _Normalization * _WW * G4UniformRand(); 00189 G4double AccumWeight = 0.0; 00190 00191 for (std::vector<G4StatMFMicroPartition*>::iterator i = _Partition.begin(); 00192 i != _Partition.end(); ++i) 00193 { 00194 AccumWeight += (*i)->GetProbability(); 00195 if (RandNumber < AccumWeight) 00196 return (*i)->ChooseZ(A0,Z0,MeanT); 00197 } 00198 00199 throw G4HadronicException(__FILE__, __LINE__, 00200 "G4StatMFMicroCanonical::ChooseChannel: Couldn't find a channel."); 00201 return 0; 00202 }
G4double G4StatMFMicroManager::GetMeanEntropy | ( | void | ) | const [inline] |
G4double G4StatMFMicroManager::GetMeanMultiplicity | ( | void | ) | const [inline] |
G4double G4StatMFMicroManager::GetMeanTemperature | ( | void | ) | const [inline] |
G4double G4StatMFMicroManager::GetProbability | ( | void | ) | const [inline] |
void G4StatMFMicroManager::Normalize | ( | const G4double | Norm | ) |
Definition at line 174 of file G4StatMFMicroManager.cc.
00175 { 00176 _Normalization = Norm; 00177 _WW /= Norm; 00178 _MeanMultiplicity /= Norm; 00179 _MeanTemperature /= Norm; 00180 _MeanEntropy /= Norm; 00181 00182 return; 00183 }
G4bool G4StatMFMicroManager::operator!= | ( | const G4StatMFMicroManager & | right | ) | const |
G4bool G4StatMFMicroManager::operator== | ( | const G4StatMFMicroManager & | right | ) | const |