Geant4 11.4.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, G4int multiplicity, G4double FreeIntE, G4double SCompNuc)
 ~G4StatMFMicroManager ()
 G4StatMFMicroManager (const G4StatMFMicroManager &right)=delete
G4StatMFMicroManageroperator= (const G4StatMFMicroManager &right)=delete
G4bool operator== (const G4StatMFMicroManager &right) const =delete
G4bool operator!= (const G4StatMFMicroManager &right) const =delete
G4StatMFChannelChooseChannel (G4int A0, G4int Z0, G4double MeanT)
G4double GetProbability (void) const
void Normalize (G4double Norm)
G4double GetMeanMultiplicity (void) const
G4double GetMeanTemperature (void) const
G4double GetMeanEntropy (void) const

Detailed Description

Definition at line 43 of file G4StatMFMicroManager.hh.

Constructor & Destructor Documentation

◆ G4StatMFMicroManager() [1/2]

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

Definition at line 35 of file G4StatMFMicroManager.cc.

37 :
38 _Normalization(0.0)
39{
40 // Perform class initialization
41 Initialize(theFragment,multiplicity,FreeIntE,SCompNuc);
42}

Referenced by G4StatMFMicroManager(), operator!=(), operator=(), and operator==().

◆ ~G4StatMFMicroManager()

G4StatMFMicroManager::~G4StatMFMicroManager ( )

Definition at line 45 of file G4StatMFMicroManager.cc.

46{
47 if (!_Partition.empty()) {
48 for (auto & p : _Partition) { delete p; }
49 }
50}

◆ G4StatMFMicroManager() [2/2]

G4StatMFMicroManager::G4StatMFMicroManager ( const G4StatMFMicroManager & right)
delete

Member Function Documentation

◆ ChooseChannel()

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

Definition at line 141 of file G4StatMFMicroManager.cc.

142{
143 G4double RandNumber = _Normalization * _WW * G4UniformRand();
144 G4double AccumWeight = 0.0;
145
146 for (auto & p : _Partition) {
147 AccumWeight += p->GetProbability();
148 if (RandNumber <= AccumWeight)
149 return p->ChooseZ(A0,Z0,MeanT);
150 }
151
152 throw G4HadronicException(__FILE__, __LINE__,
153 "G4StatMFMicroManager::ChooseChannel: Couldn't find a channel.");
154 return nullptr;
155}
double G4double
Definition G4Types.hh:83
#define G4UniformRand()
Definition Randomize.hh:52

◆ GetMeanEntropy()

G4double G4StatMFMicroManager::GetMeanEntropy ( void ) const
inline

Definition at line 71 of file G4StatMFMicroManager.hh.

71{return _MeanEntropy; }

◆ GetMeanMultiplicity()

G4double G4StatMFMicroManager::GetMeanMultiplicity ( void ) const
inline

Definition at line 67 of file G4StatMFMicroManager.hh.

67{return _MeanMultiplicity; }

◆ GetMeanTemperature()

G4double G4StatMFMicroManager::GetMeanTemperature ( void ) const
inline

Definition at line 69 of file G4StatMFMicroManager.hh.

69{return _MeanTemperature; }

◆ GetProbability()

G4double G4StatMFMicroManager::GetProbability ( void ) const
inline

Definition at line 63 of file G4StatMFMicroManager.hh.

63{return _WW;}

◆ Normalize()

void G4StatMFMicroManager::Normalize ( G4double Norm)

Definition at line 129 of file G4StatMFMicroManager.cc.

130{
131 _Normalization = Norm;
132 _WW /= Norm;
133 _MeanMultiplicity /= Norm;
134 _MeanTemperature /= Norm;
135 _MeanEntropy /= Norm;
136
137 return;
138}

◆ operator!=()

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

◆ operator=()

G4StatMFMicroManager & G4StatMFMicroManager::operator= ( const G4StatMFMicroManager & right)
delete

◆ operator==()

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

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