Geant4-11
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
G4CompetitiveFission Class Reference

#include <G4CompetitiveFission.hh>

Inheritance diagram for G4CompetitiveFission:
G4VEvaporationChannel

Public Member Functions

virtual G4bool BreakUpChain (G4FragmentVector *theResult, G4Fragment *theNucleus)
 
G4FragmentVectorBreakUpFragment (G4Fragment *theNucleus)
 
virtual void Dump () const
 
G4FragmentEmittedFragment (G4Fragment *theNucleus) override
 
 G4CompetitiveFission ()
 
G4double GetEmissionProbability (G4Fragment *theNucleus) override
 
G4double GetFissionBarrier (void) const
 
G4double GetLevelDensityParameter (void) const
 
virtual G4double GetLifeTime (G4Fragment *theNucleus)
 
G4double GetMaximalKineticEnergy (void) const
 
virtual void Initialise ()
 
virtual void RDMForced (G4bool)
 
void SetEmissionStrategy (G4VEmissionProbability *aFissionProb)
 
void SetFissionBarrier (G4VFissionBarrier *aBarrier)
 
virtual void SetICM (G4bool)
 
void SetLevelDensityParameter (G4VLevelDensityParameter *aLevelDensity)
 
void SetOPTxs (G4int opt)
 
void UseSICB (G4bool use)
 
 ~G4CompetitiveFission () override
 

Protected Attributes

G4int OPTxs
 
G4bool useSICB
 

Private Member Functions

G4double AsymmetricRatio (G4int A, G4double A11) const
 
G4int FissionAtomicNumber (G4int A)
 
G4int FissionCharge (G4int A, G4int Z, G4double Af)
 
G4double FissionKineticEnergy (G4int A, G4int Z, G4int Af1, G4int Zf1, G4int Af2, G4int Zf2, G4double U, G4double Tmax)
 
 G4CompetitiveFission (const G4CompetitiveFission &right)
 
G4double LocalExp (G4double x) const
 
G4double MassDistribution (G4double x, G4int A)
 
G4bool operator!= (const G4CompetitiveFission &right) const
 
const G4CompetitiveFissionoperator= (const G4CompetitiveFission &right)
 
G4bool operator== (const G4CompetitiveFission &right) const
 
G4double Ratio (G4double A, G4double A11, G4double B1, G4double A00) const
 
G4double SymmetricRatio (G4int A, G4double A11) const
 

Private Attributes

G4double fissionBarrier
 
G4double fissionProbability
 
G4double maxKineticEnergy
 
G4bool myOwnFissionBarrier
 
G4bool myOwnFissionProbability
 
G4bool myOwnLevelDensity
 
G4PairingCorrectionpairingCorrection
 
G4VFissionBarriertheFissionBarrierPtr
 
G4VEmissionProbabilitytheFissionProbabilityPtr
 
G4VLevelDensityParametertheLevelDensityPtr
 
G4FissionParameters theParam
 
G4int theSecID
 

Detailed Description

Definition at line 46 of file G4CompetitiveFission.hh.

Constructor & Destructor Documentation

◆ G4CompetitiveFission() [1/2]

G4CompetitiveFission::G4CompetitiveFission ( )
explicit

Definition at line 50 of file G4CompetitiveFission.cc.

50 : G4VEvaporationChannel("fission"), theSecID(-1)
51{
54
57
59 myOwnLevelDensity = true;
60
63
64 theSecID = G4PhysicsModelCatalog::GetModelID("model_G4CompetitiveFission");
65}
G4VFissionBarrier * theFissionBarrierPtr
G4VEmissionProbability * theFissionProbabilityPtr
G4PairingCorrection * pairingCorrection
G4VLevelDensityParameter * theLevelDensityPtr
G4PairingCorrection * GetPairingCorrection()
static G4NuclearLevelData * GetInstance()
static G4int GetModelID(const G4int modelIndex)
G4VEvaporationChannel(const G4String &aName="")

References fissionBarrier, fissionProbability, G4NuclearLevelData::GetInstance(), G4PhysicsModelCatalog::GetModelID(), G4NuclearLevelData::GetPairingCorrection(), maxKineticEnergy, myOwnFissionBarrier, myOwnFissionProbability, myOwnLevelDensity, pairingCorrection, theFissionBarrierPtr, theFissionProbabilityPtr, theLevelDensityPtr, and theSecID.

◆ ~G4CompetitiveFission()

G4CompetitiveFission::~G4CompetitiveFission ( )
override

◆ G4CompetitiveFission() [2/2]

G4CompetitiveFission::G4CompetitiveFission ( const G4CompetitiveFission right)
private

Member Function Documentation

◆ AsymmetricRatio()

G4double G4CompetitiveFission::AsymmetricRatio ( G4int  A,
G4double  A11 
) const
inlineprivate

Definition at line 149 of file G4CompetitiveFission.hh.

150{
151 return Ratio(G4double(A),A11,23.5,134.0);
152}
#define A11
double G4double
Definition: G4Types.hh:83
const G4double A[17]
G4double Ratio(G4double A, G4double A11, G4double B1, G4double A00) const

References A, A11, and Ratio().

Referenced by FissionKineticEnergy().

◆ BreakUpChain()

G4bool G4VEvaporationChannel::BreakUpChain ( G4FragmentVector theResult,
G4Fragment theNucleus 
)
virtualinherited

Reimplemented in G4UnstableFragmentBreakUp, and G4PhotonEvaporation.

Definition at line 66 of file G4VEvaporationChannel.cc.

67{
68 return false;
69}

Referenced by G4VEvaporationChannel::BreakUpFragment().

◆ BreakUpFragment()

G4FragmentVector * G4VEvaporationChannel::BreakUpFragment ( G4Fragment theNucleus)
inlineinherited

Definition at line 106 of file G4VEvaporationChannel.hh.

107{
108 G4FragmentVector* results = new G4FragmentVector();
109 BreakUpChain(results, theNucleus);
110 return results;
111}
std::vector< G4Fragment * > G4FragmentVector
Definition: G4Fragment.hh:64
virtual G4bool BreakUpChain(G4FragmentVector *theResult, G4Fragment *theNucleus)

References G4VEvaporationChannel::BreakUpChain().

Referenced by G4NeutronRadCapture::ApplyYourself().

◆ Dump()

void G4VEvaporationChannel::Dump ( ) const
virtualinherited

Reimplemented in G4GEMChannel, and G4GEMChannelVI.

Definition at line 71 of file G4VEvaporationChannel.cc.

72{}

◆ EmittedFragment()

G4Fragment * G4CompetitiveFission::EmittedFragment ( G4Fragment theNucleus)
overridevirtual

Reimplemented from G4VEvaporationChannel.

Definition at line 95 of file G4CompetitiveFission.cc.

96{
97 G4Fragment * Fragment1 = nullptr;
98 // Nucleus data
99 // Atomic number of nucleus
100 G4int A = theNucleus->GetA_asInt();
101 // Charge of nucleus
102 G4int Z = theNucleus->GetZ_asInt();
103 // Excitation energy (in MeV)
104 G4double U = theNucleus->GetExcitationEnergy();
106 if (U <= pcorr) { return Fragment1; }
107
108 // Atomic Mass of Nucleus (in MeV)
109 G4double M = theNucleus->GetGroundStateMass();
110
111 // Nucleus Momentum
112 G4LorentzVector theNucleusMomentum = theNucleus->GetMomentum();
113
114 // Calculate fission parameters
116
117 // First fragment
118 G4int A1 = 0;
119 G4int Z1 = 0;
120 G4double M1 = 0.0;
121
122 // Second fragment
123 G4int A2 = 0;
124 G4int Z2 = 0;
125 G4double M2 = 0.0;
126
127 G4double FragmentsExcitationEnergy = 0.0;
128 G4double FragmentsKineticEnergy = 0.0;
129
130 G4int Trials = 0;
131 do {
132
133 // First fragment
135 Z1 = FissionCharge(A, Z, A1);
137
138 // Second Fragment
139 A2 = A - A1;
140 Z2 = Z - Z1;
141 if (A2 < 1 || Z2 < 0 || Z2 > A2) {
142 FragmentsExcitationEnergy = -1.0;
143 continue;
144 }
146 // Maximal Kinetic Energy (available energy for fragments)
147 G4double Tmax = M + U - M1 - M2 - pcorr;
148
149 // Check that fragment masses are less or equal than total energy
150 if (Tmax < 0.0) {
151 FragmentsExcitationEnergy = -1.0;
152 continue;
153 }
154
155 FragmentsKineticEnergy = FissionKineticEnergy( A , Z,
156 A1, Z1,
157 A2, Z2,
158 U , Tmax);
159
160 // Excitation Energy
161 // FragmentsExcitationEnergy = Tmax - FragmentsKineticEnergy;
162 // JMQ 04/03/09 BUG FIXED: in order to fulfill energy conservation the
163 // fragments carry the fission pairing energy in form of
164 // excitation energy
165
166 FragmentsExcitationEnergy =
167 Tmax - FragmentsKineticEnergy + pcorr;
168
169 // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
170 } while (FragmentsExcitationEnergy < 0.0 && ++Trials < 100);
171
172 if (FragmentsExcitationEnergy <= 0.0) {
173 throw G4HadronicException(__FILE__, __LINE__,
174 "G4CompetitiveFission::BreakItUp: Excitation energy for fragments < 0.0!");
175 }
176
177 // Fragment 1
178 M1 += FragmentsExcitationEnergy * A1/static_cast<G4double>(A);
179 // Fragment 2
180 M2 += FragmentsExcitationEnergy * A2/static_cast<G4double>(A);
181 // primary
182 M += U;
183
184 G4double etot1 = ((M - M2)*(M + M2) + M1*M1)/(2*M);
185 G4ParticleMomentum Momentum1 =
186 std::sqrt((etot1 - M1)*(etot1+M1))*G4RandomDirection();
187 G4LorentzVector FourMomentum1(Momentum1, etot1);
188 FourMomentum1.boost(theNucleusMomentum.boostVector());
189
190 // Create Fragments
191 Fragment1 = new G4Fragment( A1, Z1, FourMomentum1);
192 if (Fragment1 != nullptr) { Fragment1->SetCreatorModelID(theSecID); }
193 theNucleusMomentum -= FourMomentum1;
194 theNucleus->SetZandA_asInt(Z2, A2);
195 theNucleus->SetMomentum(theNucleusMomentum);
196 theNucleus->SetCreatorModelID(theSecID);
197 return Fragment1;
198}
#define M(row, col)
G4ThreeVector G4RandomDirection()
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
Hep3Vector boostVector() const
G4FissionParameters theParam
G4double FissionKineticEnergy(G4int A, G4int Z, G4int Af1, G4int Zf1, G4int Af2, G4int Zf2, G4double U, G4double Tmax)
G4int FissionCharge(G4int A, G4int Z, G4double Af)
G4int FissionAtomicNumber(G4int A)
void DefineParameters(G4int A, G4int Z, G4double ExEnergy, G4double FissionBarrier)
G4double GetGroundStateMass() const
Definition: G4Fragment.hh:304
G4double GetExcitationEnergy() const
Definition: G4Fragment.hh:299
const G4LorentzVector & GetMomentum() const
Definition: G4Fragment.hh:323
void SetCreatorModelID(G4int value)
Definition: G4Fragment.hh:428
G4int GetZ_asInt() const
Definition: G4Fragment.hh:276
void SetMomentum(const G4LorentzVector &value)
Definition: G4Fragment.hh:328
void SetZandA_asInt(G4int Znew, G4int Anew)
Definition: G4Fragment.hh:281
G4int GetA_asInt() const
Definition: G4Fragment.hh:271
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4double GetFissionPairingCorrection(G4int A, G4int Z) const
static const G4double Z1[5]
Definition: paraMaker.cc:41

References A, CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), G4FissionParameters::DefineParameters(), FissionAtomicNumber(), fissionBarrier, FissionCharge(), FissionKineticEnergy(), G4RandomDirection(), G4Fragment::GetA_asInt(), G4Fragment::GetExcitationEnergy(), G4PairingCorrection::GetFissionPairingCorrection(), G4Fragment::GetGroundStateMass(), G4Fragment::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4Fragment::GetZ_asInt(), M, pairingCorrection, G4Fragment::SetCreatorModelID(), G4Fragment::SetMomentum(), G4Fragment::SetZandA_asInt(), theParam, theSecID, Z, and anonymous_namespace{paraMaker.cc}::Z1.

◆ FissionAtomicNumber()

G4int G4CompetitiveFission::FissionAtomicNumber ( G4int  A)
private

Definition at line 201 of file G4CompetitiveFission.cc.

203{
204
205 // For Simplicity reading code
206 G4int A1 = theParam.GetA1();
207 G4int A2 = theParam.GetA2();
208 G4double As = theParam.GetAs();
209 G4double Sigma2 = theParam.GetSigma2();
210 G4double SigmaS = theParam.GetSigmaS();
211 G4double w = theParam.GetW();
212
213 G4double C2A = A2 + 3.72*Sigma2;
214 G4double C2S = As + 3.72*SigmaS;
215
216 G4double C2 = 0.0;
217 if (w > 1000.0 ) { C2 = C2S; }
218 else if (w < 0.001) { C2 = C2A; }
219 else { C2 = std::max(C2A,C2S); }
220
221 G4double C1 = A-C2;
222 if (C1 < 30.0) {
223 C2 = A-30.0;
224 C1 = 30.0;
225 }
226
227 G4double Am1 = (As + A1)*0.5;
228 G4double Am2 = (A1 + A2)*0.5;
229
230 // Get Mass distributions as sum of symmetric and asymmetric Gasussians
231 G4double Mass1 = MassDistribution(As,A);
232 G4double Mass2 = MassDistribution(Am1,A);
233 G4double Mass3 = MassDistribution(G4double(A1),A);
234 G4double Mass4 = MassDistribution(Am2,A);
235 G4double Mass5 = MassDistribution(G4double(A2),A);
236 // get maximal value among Mass1,...,Mass5
237 G4double MassMax = Mass1;
238 if (Mass2 > MassMax) { MassMax = Mass2; }
239 if (Mass3 > MassMax) { MassMax = Mass3; }
240 if (Mass4 > MassMax) { MassMax = Mass4; }
241 if (Mass5 > MassMax) { MassMax = Mass5; }
242
243 // Sample a fragment mass number, which lies between C1 and C2
244 G4double xm;
245 G4double Pm;
246 do {
247 xm = C1+G4UniformRand()*(C2-C1);
248 Pm = MassDistribution(xm,A);
249 // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
250 } while (MassMax*G4UniformRand() > Pm);
251 G4int ires = G4lrint(xm);
252
253 return ires;
254}
const double C2
const double C1
#define G4UniformRand()
Definition: Randomize.hh:52
G4double MassDistribution(G4double x, G4int A)
G4double GetAs(void) const
G4double GetW(void) const
G4int GetA1(void) const
G4double GetSigmaS(void) const
G4int GetA2(void) const
G4double GetSigma2(void) const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
int G4lrint(double ad)
Definition: templates.hh:134

References A, C1, C2, G4lrint(), G4UniformRand, G4FissionParameters::GetA1(), G4FissionParameters::GetA2(), G4FissionParameters::GetAs(), G4FissionParameters::GetSigma2(), G4FissionParameters::GetSigmaS(), G4FissionParameters::GetW(), MassDistribution(), G4INCL::Math::max(), and theParam.

Referenced by EmittedFragment().

◆ FissionCharge()

G4int G4CompetitiveFission::FissionCharge ( G4int  A,
G4int  Z,
G4double  Af 
)
private

Definition at line 279 of file G4CompetitiveFission.cc.

281{
282 static const G4double sigma = 0.6;
283 G4double DeltaZ = 0.0;
284 if (Af >= 134.0) { DeltaZ = -0.45; }
285 else if (Af <= (A-134.0)) { DeltaZ = 0.45; }
286 else { DeltaZ = -0.45*(Af-A*0.5)/(134.0-A*0.5); }
287
288 G4double Zmean = (Af/A)*Z + DeltaZ;
289
290 G4double theZ;
291 do {
292 theZ = G4RandGauss::shoot(Zmean,sigma);
293 // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
294 } while (theZ < 1.0 || theZ > (Z-1.0) || theZ > Af);
295
296 return G4lrint(theZ);
297}
ThreeVector shoot(const G4int Ap, const G4int Af)

References A, G4lrint(), G4INCL::DeJongSpin::shoot(), and Z.

Referenced by EmittedFragment().

◆ FissionKineticEnergy()

G4double G4CompetitiveFission::FissionKineticEnergy ( G4int  A,
G4int  Z,
G4int  Af1,
G4int  Zf1,
G4int  Af2,
G4int  Zf2,
G4double  U,
G4double  Tmax 
)
private

Definition at line 300 of file G4CompetitiveFission.cc.

305{
306 // Find maximal value of A for fragments
307 G4int AfMax = std::max(Af1,Af2);
308
309 // Weights for symmetric and asymmetric components
310 G4double Pas = 0.0;
311 if (theParam.GetW() <= 1000) {
312 G4double x1 = (AfMax-theParam.GetA1())/theParam.GetSigma1();
313 G4double x2 = (AfMax-theParam.GetA2())/theParam.GetSigma2();
314 Pas = 0.5*LocalExp(x1) + LocalExp(x2);
315 }
316
317 G4double Ps = 0.0;
318 if (theParam.GetW() >= 0.001) {
319 G4double xs = (AfMax-theParam.GetAs())/theParam.GetSigmaS();
320 Ps = theParam.GetW()*LocalExp(xs);
321 }
322 G4double Psy = (Pas + Ps > 0.0) ? Ps/(Pas+Ps) : 0.5;
323
324 // Fission fractions Xsy and Xas formed in symmetric and asymmetric modes
325 G4double PPas = theParam.GetSigma1() + 2.0 * theParam.GetSigma2();
327 G4double Xas = (PPas + PPsy > 0.0) ? PPas/(PPas+PPsy) : 0.5;
328 G4double Xsy = 1.0 - Xas;
329
330 // Average kinetic energy for symmetric and asymmetric components
331 G4double Eaverage = (0.1071*(Z*Z)/G4Pow::GetInstance()->Z13(A) + 22.2)*CLHEP::MeV;
332
333 // Compute maximal average kinetic energy of fragments and Energy Dispersion
334 G4double TaverageAfMax;
335 G4double ESigma = 10*CLHEP::MeV;
336 // Select randomly fission mode (symmetric or asymmetric)
337 if (G4UniformRand() > Psy) { // Asymmetric Mode
342 // scale factor
343 G4double ScaleFactor = 0.5*theParam.GetSigma1()*
346 // Compute average kinetic energy for fragment with AfMax
347 TaverageAfMax = (Eaverage + 12.5 * Xsy) * (PPas/ScaleFactor) *
348 AsymmetricRatio(A,G4double(AfMax));
349
350 } else { // Symmetric Mode
351 G4double As0 = theParam.GetAs() + 0.7979*theParam.GetSigmaS();
352 // Compute average kinetic energy for fragment with AfMax
353 TaverageAfMax = (Eaverage - 12.5*CLHEP::MeV*Xas)
354 *SymmetricRatio(A, G4double(AfMax))/SymmetricRatio(A, As0);
355 ESigma = 8.0*CLHEP::MeV;
356 }
357
358 // Select randomly, in accordance with Gaussian distribution,
359 // fragment kinetic energy
361 G4int i = 0;
362 do {
363 KineticEnergy = G4RandGauss::shoot(TaverageAfMax, ESigma);
364 if (++i > 100) return Eaverage;
365 // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
366 } while (KineticEnergy < Eaverage-3.72*ESigma ||
367 KineticEnergy > Eaverage+3.72*ESigma ||
368 KineticEnergy > Tmax);
369
370 return KineticEnergy;
371}
#define A22
#define A12
#define A21
G4double SymmetricRatio(G4int A, G4double A11) const
G4double LocalExp(G4double x) const
G4double AsymmetricRatio(G4int A, G4double A11) const
G4double GetSigma1(void) const
static G4Pow * GetInstance()
Definition: G4Pow.cc:41
G4double Z13(G4int Z) const
Definition: G4Pow.hh:123
static constexpr double MeV

References A, A11, A12, A21, A22, AsymmetricRatio(), G4UniformRand, G4FissionParameters::GetA1(), G4FissionParameters::GetA2(), G4FissionParameters::GetAs(), G4Pow::GetInstance(), G4FissionParameters::GetSigma1(), G4FissionParameters::GetSigma2(), G4FissionParameters::GetSigmaS(), G4FissionParameters::GetW(), LocalExp(), G4INCL::Math::max(), CLHEP::MeV, G4INCL::DeJongSpin::shoot(), SymmetricRatio(), theParam, Z, and G4Pow::Z13().

Referenced by EmittedFragment().

◆ GetEmissionProbability()

G4double G4CompetitiveFission::GetEmissionProbability ( G4Fragment theNucleus)
overridevirtual

Implements G4VEvaporationChannel.

Definition at line 74 of file G4CompetitiveFission.cc.

75{
76 G4int Z = fragment->GetZ_asInt();
77 G4int A = fragment->GetA_asInt();
79 // Saddle point excitation energy ---> A = 65
80 if (A >= 65 && Z > 16) {
81 G4double exEnergy = fragment->GetExcitationEnergy() -
83
84 if (exEnergy > 0.0) {
90 }
91 }
92 return fissionProbability;
93}
virtual G4double EmissionProbability(const G4Fragment &fragment, G4double anEnergy)
virtual G4double FissionBarrier(G4int A, G4int Z, G4double U) const =0

References A, G4VEmissionProbability::EmissionProbability(), fissionBarrier, G4VFissionBarrier::FissionBarrier(), fissionProbability, G4Fragment::GetA_asInt(), G4Fragment::GetExcitationEnergy(), G4PairingCorrection::GetFissionPairingCorrection(), G4Fragment::GetZ_asInt(), maxKineticEnergy, pairingCorrection, theFissionBarrierPtr, theFissionProbabilityPtr, and Z.

◆ GetFissionBarrier()

G4double G4CompetitiveFission::GetFissionBarrier ( void  ) const
inline

Definition at line 123 of file G4CompetitiveFission.hh.

124{
125 return fissionBarrier;
126}

References fissionBarrier.

◆ GetLevelDensityParameter()

G4double G4CompetitiveFission::GetLevelDensityParameter ( void  ) const
inline

◆ GetLifeTime()

G4double G4VEvaporationChannel::GetLifeTime ( G4Fragment theNucleus)
virtualinherited

Definition at line 50 of file G4VEvaporationChannel.cc.

51{
52 return 0.0;
53}

◆ GetMaximalKineticEnergy()

G4double G4CompetitiveFission::GetMaximalKineticEnergy ( void  ) const
inline

Definition at line 128 of file G4CompetitiveFission.hh.

129{
130 return maxKineticEnergy;
131}

References maxKineticEnergy.

◆ Initialise()

void G4VEvaporationChannel::Initialise ( )
virtualinherited

◆ LocalExp()

G4double G4CompetitiveFission::LocalExp ( G4double  x) const
inlineprivate

Definition at line 161 of file G4CompetitiveFission.hh.

162{
163 return (std::abs(x) < 8.) ? G4Exp(-0.5*x*x) : 0.0;
164}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:179

References G4Exp().

Referenced by FissionKineticEnergy(), and MassDistribution().

◆ MassDistribution()

G4double G4CompetitiveFission::MassDistribution ( G4double  x,
G4int  A 
)
private

Definition at line 257 of file G4CompetitiveFission.cc.

260{
262 G4double Xsym = LocalExp(y0);
263
266 G4double z1 = (x - A + theParam.GetA1())/theParam.GetSigma1();
267 G4double z2 = (x - A + theParam.GetA2())/theParam.GetSigma2();
268 G4double Xasym = LocalExp(y1) + LocalExp(y2)
269 + 0.5*(LocalExp(z1) + LocalExp(z2));
270
271 G4double res;
272 G4double w = theParam.GetW();
273 if (w > 1000) { res = Xsym; }
274 else if (w < 0.001) { res = Xasym; }
275 else { res = w*Xsym+Xasym; }
276 return res;
277}

References A, G4FissionParameters::GetA1(), G4FissionParameters::GetA2(), G4FissionParameters::GetAs(), G4FissionParameters::GetSigma1(), G4FissionParameters::GetSigma2(), G4FissionParameters::GetSigmaS(), G4FissionParameters::GetW(), LocalExp(), and theParam.

Referenced by FissionAtomicNumber().

◆ operator!=()

G4bool G4CompetitiveFission::operator!= ( const G4CompetitiveFission right) const
private

◆ operator=()

const G4CompetitiveFission & G4CompetitiveFission::operator= ( const G4CompetitiveFission right)
private

◆ operator==()

G4bool G4CompetitiveFission::operator== ( const G4CompetitiveFission right) const
private

◆ Ratio()

G4double G4CompetitiveFission::Ratio ( G4double  A,
G4double  A11,
G4double  B1,
G4double  A00 
) const
inlineprivate

Definition at line 134 of file G4CompetitiveFission.hh.

136{
137 G4double res;
138 if (A11 >= A*0.5 && A11 <= (A00+10.0)) {
139 G4double x = (A11-A00)/A;
140 res = 1.0 - B1*x*x;
141 } else {
142 G4double x = 10.0/A;
143 res = 1.0 - B1*x*x - 2.0*x*B1*(A11-A00-10.0)/A;
144 }
145 return res;
146}
#define A00

References A, A00, and A11.

Referenced by AsymmetricRatio(), and SymmetricRatio().

◆ RDMForced()

void G4VEvaporationChannel::RDMForced ( G4bool  )
virtualinherited

Reimplemented in G4PhotonEvaporation.

Definition at line 58 of file G4VEvaporationChannel.cc.

59{}

◆ SetEmissionStrategy()

void G4CompetitiveFission::SetEmissionStrategy ( G4VEmissionProbability aFissionProb)

◆ SetFissionBarrier()

void G4CompetitiveFission::SetFissionBarrier ( G4VFissionBarrier aBarrier)

Definition at line 373 of file G4CompetitiveFission.cc.

374{
376 theFissionBarrierPtr = aBarrier;
377 myOwnFissionBarrier = false;
378}

References myOwnFissionBarrier, and theFissionBarrierPtr.

◆ SetICM()

void G4VEvaporationChannel::SetICM ( G4bool  )
virtualinherited

Reimplemented in G4PhotonEvaporation.

Definition at line 55 of file G4VEvaporationChannel.cc.

56{}

Referenced by G4NeutronRadCapture::InitialiseModel().

◆ SetLevelDensityParameter()

void G4CompetitiveFission::SetLevelDensityParameter ( G4VLevelDensityParameter aLevelDensity)

Definition at line 389 of file G4CompetitiveFission.cc.

390{
392 theLevelDensityPtr = aLevelDensity;
393 myOwnLevelDensity = false;
394}

References myOwnLevelDensity, and theLevelDensityPtr.

Referenced by G4INCLXXInterface::G4INCLXXInterface().

◆ SetOPTxs()

void G4VEvaporationChannel::SetOPTxs ( G4int  opt)
inlineinherited

Definition at line 113 of file G4VEvaporationChannel.hh.

114{}

◆ SymmetricRatio()

G4double G4CompetitiveFission::SymmetricRatio ( G4int  A,
G4double  A11 
) const
inlineprivate

Definition at line 155 of file G4CompetitiveFission.hh.

156{
157 G4double A0 = G4double(A);
158 return Ratio(A0,A11,5.32,A0*0.5);
159}

References A, A11, and Ratio().

Referenced by FissionKineticEnergy().

◆ UseSICB()

void G4VEvaporationChannel::UseSICB ( G4bool  use)
inlineinherited

Definition at line 116 of file G4VEvaporationChannel.hh.

117{}

Field Documentation

◆ fissionBarrier

G4double G4CompetitiveFission::fissionBarrier
private

◆ fissionProbability

G4double G4CompetitiveFission::fissionProbability
private

Definition at line 102 of file G4CompetitiveFission.hh.

Referenced by G4CompetitiveFission(), and GetEmissionProbability().

◆ maxKineticEnergy

G4double G4CompetitiveFission::maxKineticEnergy
private

◆ myOwnFissionBarrier

G4bool G4CompetitiveFission::myOwnFissionBarrier
private

◆ myOwnFissionProbability

G4bool G4CompetitiveFission::myOwnFissionProbability
private

◆ myOwnLevelDensity

G4bool G4CompetitiveFission::myOwnLevelDensity
private

◆ OPTxs

G4int G4VEvaporationChannel::OPTxs
protectedinherited

◆ pairingCorrection

G4PairingCorrection* G4CompetitiveFission::pairingCorrection
private

◆ theFissionBarrierPtr

G4VFissionBarrier* G4CompetitiveFission::theFissionBarrierPtr
private

◆ theFissionProbabilityPtr

G4VEmissionProbability* G4CompetitiveFission::theFissionProbabilityPtr
private

◆ theLevelDensityPtr

G4VLevelDensityParameter* G4CompetitiveFission::theLevelDensityPtr
private

◆ theParam

G4FissionParameters G4CompetitiveFission::theParam
private

◆ theSecID

G4int G4CompetitiveFission::theSecID
private

Definition at line 120 of file G4CompetitiveFission.hh.

Referenced by EmittedFragment(), and G4CompetitiveFission().

◆ useSICB

G4bool G4VEvaporationChannel::useSICB
protectedinherited

Definition at line 94 of file G4VEvaporationChannel.hh.


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