40 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMicroManager::copy_constructor meant to not be accessable");
48 throw G4HadronicException(__FILE__, __LINE__,
"G4StatMFMicroManager::operator= meant to not be accessable");
70 Initialize(theFragment,multiplicity,FreeIntE,SCompNuc);
113 G4int FragmentAtomicNumbers[4];
119 FragmentAtomicNumbers[im-1] =
A;
120 for (i = 0; i < (im - 1); i++) FragmentAtomicNumbers[i] = 0;
129 G4double PartitionProbability = 0.0;
135 _WW += PartitionProbability;
138 if (PartitionProbability > 0.0)
151 G4int tmp = ANumbers[l-1] + ANumbers[k-1];
154 if (ANumbers[l-1] > ANumbers[l] || ANumbers[k-2] > ANumbers[k-1]) {
156 ANumbers[k-1] = tmp - 1;
180 for (std::vector<G4StatMFMicroPartition*>::iterator i =
_Partition.begin();
183 AccumWeight += (*i)->GetProbability();
184 if (RandNumber < AccumWeight)
185 return (*i)->ChooseZ(A0,Z0,MeanT);
189 "G4StatMFMicroCanonical::ChooseChannel: Couldn't find a channel.");
std::vector< G4StatMFMicroPartition * > _Partition
void Normalize(G4double Norm)
G4StatMFChannel * ChooseChannel(G4int A0, G4int Z0, G4double MeanT)
G4bool MakePartition(G4int k, G4int *ANumbers)
G4double _MeanTemperature
G4double GetEntropy(void)
static const G4double A[nN]
G4bool operator==(const G4StatMFMicroManager &right) const
G4double _MeanMultiplicity
G4double CalcPartitionProbability(G4double U, G4double FreeInternalE0, G4double SCompound)
void Initialize(const G4Fragment &theFragment, G4int m, G4double FreeIntE, G4double SCompNuc)
G4double GetTemperature(void)
G4StatMFMicroManager & operator=(const G4StatMFMicroManager &right)
G4double GetExcitationEnergy() const
void SetPartitionFragment(G4int anA)
G4bool operator!=(const G4StatMFMicroManager &right) const