#include <G4StatMFMacroCanonical.hh>
Definition at line 49 of file G4StatMFMacroCanonical.hh.
◆ G4StatMFMacroCanonical() [1/2]
| G4StatMFMacroCanonical::G4StatMFMacroCanonical |
( |
| ) |
|
Definition at line 43 of file G4StatMFMacroCanonical.cc.
44{
45 theTemp = new G4StatMFMacroTemperature();
46 fClusters.reserve(220);
47 fAcumMultiplicity.reserve(220);
48
49
50 fClusters.push_back(new G4StatMFMacroNucleon);
51 fClusters.push_back(new G4StatMFMacroBiNucleon);
52 fClusters.push_back(new G4StatMFMacroTriNucleon);
53 fClusters.push_back(new G4StatMFMacroTetraNucleon);
54}
Referenced by G4StatMFMacroCanonical(), operator!=(), operator=(), and operator==().
◆ ~G4StatMFMacroCanonical()
| G4StatMFMacroCanonical::~G4StatMFMacroCanonical |
( |
| ) |
|
|
override |
Definition at line 57 of file G4StatMFMacroCanonical.cc.
58{
59
60 if (!fClusters.empty()) {
61 for(auto const & p : fClusters) { delete p; }
62 }
63 delete theTemp;
64}
◆ G4StatMFMacroCanonical() [2/2]
◆ ChooseAandZ()
Implements G4VStatMFEnsemble.
Definition at line 110 of file G4StatMFMacroCanonical.cc.
112{
115
116 std::vector<G4int> ANumbers(
A);
117
118 G4double Multiplicity = ChooseA(
A, ANumbers);
119
120 std::vector<G4int> FragmentsA;
121
123 for (i = 0; i <
A; i++)
124 {
125 for (
G4int j = 0; j < ANumbers[i]; j++) FragmentsA.push_back(i+1);
126 }
127
128
130 for (
G4int j = 0; j < Multiplicity; j++)
131 {
132 G4int FragmentsAMax = 0;
133 im = j;
134 for (i = j; i < Multiplicity; ++i)
135 {
136 if (FragmentsA[i] <= FragmentsAMax) { continue; }
137 else
138 {
139 im = i;
140 FragmentsAMax = FragmentsA[im];
141 }
142 }
143 if (im != j)
144 {
145 FragmentsA[im] = FragmentsA[j];
146 FragmentsA[j] = FragmentsAMax;
147 }
148 }
149 return ChooseZ(Z,FragmentsA);
150}
◆ Initialise()
| void G4StatMFMacroCanonical::Initialise |
( |
const G4Fragment & | theFragment | ) |
|
|
overridevirtual |
Implements G4VStatMFEnsemble.
Definition at line 67 of file G4StatMFMacroCanonical.cc.
68{
73
79
80
82 + Beta0*a13*a13 +
83 0.6*CLHEP::elm_coupling*(Z*Z)/(R0*a13);
84
86 for (
G4int i = n; i <
A; ++i) {
87 fClusters.push_back(new G4StatMFMacroMultiNucleon(i+1));
88 }
89
91
92
93 G4double FragMult = std::max((1.0+2.31*(U/CLHEP::MeV - 3.5*
A))/100.0, 2.0);
94
95
96 fKappa = (1.0 + CLHEP::elm_coupling*(g4calc->
A13(FragMult) - 1.0)/(R0*a13));
97 fKappa = fKappa*fKappa*fKappa - 1.0;
98
100
102 fChemPotentialNu = theTemp->GetChemicalPotentialNu();
103 fChemPotentialMu = theTemp->GetChemicalPotentialMu();
106}
G4double GetExcitationEnergy() const
static G4Pow * GetInstance()
G4double A13(G4double A) const
G4double Z13(G4int Z) const
static G4double GetBeta0()
static G4double GetGamma0()
G4double pMeanMultiplicity
G4double pMeanTemperature
◆ operator!=()
◆ operator=()
◆ operator==()
The documentation for this class was generated from the following files: