#include <G4EvaporationProbability.hh>
|
| G4EvaporationProbability (G4int anA, G4int aZ, G4double aGamma) |
|
| ~G4EvaporationProbability () override |
|
virtual G4double | TotalProbability (const G4Fragment &fragment, G4double minKinEnergy, G4double maxKinEnergy, G4double CB, G4double exEnergy) |
|
G4double | ComputeProbability (G4double K, G4double CB) override |
|
G4double | CrossSection (G4double K, G4double CB) |
|
G4double | RecentXS () const |
|
| G4EvaporationProbability (const G4EvaporationProbability &right)=delete |
|
const G4EvaporationProbability & | operator= (const G4EvaporationProbability &right)=delete |
|
G4bool | operator== (const G4EvaporationProbability &right) const =delete |
|
G4bool | operator!= (const G4EvaporationProbability &right) const =delete |
|
| G4VEmissionProbability (G4int Z, G4int A) |
|
virtual | ~G4VEmissionProbability ()=default |
|
virtual void | Initialise () |
|
virtual G4double | EmissionProbability (const G4Fragment &fragment, G4double anEnergy) |
|
G4int | GetZ (void) const |
|
G4int | GetA (void) const |
|
void | SetDecayKinematics (G4int rZ, G4int rA, G4double rmass, G4double fmass) |
|
G4double | GetRecoilExcitation () const |
|
void | SetEvapExcitation (G4double exc) |
|
G4double | GetProbability () const |
|
void | ResetProbability () |
|
G4double | SampleEnergy () |
|
| G4VEmissionProbability (const G4VEmissionProbability &right)=delete |
|
const G4VEmissionProbability & | operator= (const G4VEmissionProbability &right)=delete |
|
G4bool | operator== (const G4VEmissionProbability &right) const =delete |
|
G4bool | operator!= (const G4VEmissionProbability &right) const =delete |
|
Definition at line 42 of file G4EvaporationProbability.hh.
◆ G4EvaporationProbability() [1/2]
G4EvaporationProbability::G4EvaporationProbability |
( |
G4int | anA, |
|
|
G4int | aZ, |
|
|
G4double | aGamma ) |
|
explicit |
Definition at line 68 of file G4EvaporationProbability.cc.
71{
72 resA13 = lastA = muu = freeU = a0 = a1 = delta0 = delta1 = 0.0;
73 pcoeff = fGamma*
pEvapMass*CLHEP::millibarn
74 /((CLHEP::pi*CLHEP::hbarc)*(CLHEP::pi*CLHEP::hbarc));
75
76 if (1 ==
theZ && 1 ==
theA) { index = 1; }
77 else if (1 ==
theZ && 2 ==
theA) { index = 2; }
78 else if (1 ==
theZ && 3 ==
theA) { index = 3; }
79 else if (2 ==
theZ && 3 ==
theA) { index = 4; }
80 else if (2 ==
theZ && 4 ==
theA) { index = 5; }
81
83 const G4ParticleDefinition* part = nullptr;
90 fXSection = new G4InterfaceToXS(part, index);
91 }
92
93 if (0 == aZ) {
95 } else {
97 }
98}
static G4Deuteron * Deuteron()
static G4Neutron * Neutron()
static G4Proton * Proton()
static G4Triton * Triton()
G4VEmissionProbability(G4int Z, G4int A)
void ResetIntegrator(size_t nbin, G4double de, G4double eps)
Referenced by G4AlphaEvaporationProbability::G4AlphaEvaporationProbability(), G4DeuteronEvaporationProbability::G4DeuteronEvaporationProbability(), G4EvaporationProbability(), G4He3EvaporationProbability::G4He3EvaporationProbability(), G4NeutronEvaporationProbability::G4NeutronEvaporationProbability(), G4ProtonEvaporationProbability::G4ProtonEvaporationProbability(), G4TritonEvaporationProbability::G4TritonEvaporationProbability(), operator!=(), operator=(), and operator==().
◆ ~G4EvaporationProbability()
G4EvaporationProbability::~G4EvaporationProbability |
( |
| ) |
|
|
override |
◆ G4EvaporationProbability() [2/2]
◆ CalcAlphaParam()
◆ CalcBetaParam()
◆ ComputeProbability()
Reimplemented from G4VEmissionProbability.
Definition at line 172 of file G4EvaporationProbability.cc.
173{
174
176
179
181 if (excRes < 0.0) { return 0.0; }
183 K1 = std::max(K1, 0.0);
185 if (xs <= 0.0) { return 0.0; }
186
188 G4double E0 = std::max(freeU - delta0, 0.0);
189 G4double E1 = std::max(excRes - delta1, 0.0);
190 G4double prob = pcoeff*
G4Exp(2.0*(std::sqrt(a1*E1) - std::sqrt(a0*E0)))*K1*xs;
191 return prob;
192}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double CrossSection(G4double K, G4double CB)
G4NuclearLevelData * pNuclearLevelData
◆ CrossSection()
Definition at line 195 of file G4EvaporationProbability.cc.
196{
197
198 if (
OPTxs > 1 && 0 < index &&
resA != lastA) {
201 }
203 recentXS = fXSection->GetElementCrossSection(K,
resZ)/CLHEP::millibarn;
204
205 }
else if (
OPTxs == 2) {
208 }
else if (
OPTxs == 3) {
211 }
212 return recentXS;
213}
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int resA)
static G4double ComputePowerParameter(G4int resA, G4int idx)
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int A, G4int resA)
Referenced by ComputeProbability().
◆ operator!=()
◆ operator=()
◆ operator==()
◆ RecentXS()
G4double G4EvaporationProbability::RecentXS |
( |
| ) |
const |
|
inline |
◆ TotalProbability()
Definition at line 115 of file G4EvaporationProbability.cc.
118{
121 freeU = exEnergy;
126
127
128
129
130
131
132
133
134
136
137 G4double SystemEntropy = 2.0*std::sqrt(a0*freeU);
138 const G4double RN2 = 2.25*CLHEP::fermi*CLHEP::fermi
139 /(CLHEP::twopi*CLHEP::hbar_Planck*hbar_Planck);
140
143
144
147
149 G4double Term1 = Beta*a1 - 1.5 + maxea;
150 G4double Term2 = (2.0*Beta*a1-3.0)*std::sqrt(maxea) + 2*maxea;
151
152 G4double ExpTerm1 = (SystemEntropy <= explim) ?
G4Exp(-SystemEntropy) : 0.0;
153
154 G4double ExpTerm2 = 2.*std::sqrt(maxea) - SystemEntropy;
155 ExpTerm2 = std::min(ExpTerm2, explim);
156 ExpTerm2 =
G4Exp(ExpTerm2);
157
158 pProbability = GlobalFactor*(Term1*ExpTerm1 + Term2*ExpTerm2);
159
160 } else {
161
162
164 }
165
166
167
168
170}
virtual G4double CalcAlphaParam(const G4Fragment &fragment)
virtual G4double CalcBetaParam(const G4Fragment &fragment)
G4double IntegrateProbability(G4double elow, G4double ehigh, G4double CB)
The documentation for this class was generated from the following files: