Geant4  10.02.p03
G4CompetitiveFission Class Reference

#include <G4CompetitiveFission.hh>

Inheritance diagram for G4CompetitiveFission:
Collaboration diagram for G4CompetitiveFission:

Public Member Functions

 G4CompetitiveFission ()
 
virtual ~G4CompetitiveFission ()
 
virtual G4FragmentVectorBreakUp (const G4Fragment &theNucleus)
 
virtual G4FragmentEmittedFragment (G4Fragment *theNucleus)
 
virtual G4double GetEmissionProbability (G4Fragment *theNucleus)
 
void SetFissionBarrier (G4VFissionBarrier *aBarrier)
 
void SetEmissionStrategy (G4VEmissionProbability *aFissionProb)
 
void SetLevelDensityParameter (G4VLevelDensityParameter *aLevelDensity)
 
G4double GetFissionBarrier (void) const
 
G4double GetLevelDensityParameter (void) const
 
G4double GetMaximalKineticEnergy (void) const
 
- Public Member Functions inherited from G4VEvaporationChannel
 G4VEvaporationChannel (const G4String &aName="")
 
virtual ~G4VEvaporationChannel ()
 
virtual void Initialise ()
 
virtual G4double GetLifeTime (G4Fragment *theNucleus)
 
virtual G4FragmentVectorBreakUpFragment (G4Fragment *theNucleus)
 
virtual G4bool BreakUpChain (G4FragmentVector *theResult, G4Fragment *theNucleus)
 
virtual void Dump () const
 
virtual void SetICM (G4bool)
 
virtual void RDMForced (G4bool)
 
virtual G4double GetFinalLevelEnergy (G4int Z, G4int A, G4double energy)
 
virtual G4double GetUpperLevelEnergy (G4int Z, G4int A)
 
G4double GetMaxLevelEnergy (G4int Z, G4int A)
 
G4double GetNearestLevelEnergy (G4int Z, G4int A, G4double energy)
 
void SetPhotonEvaporation (G4VEvaporationChannel *p)
 
void SetOPTxs (G4int opt)
 
void UseSICB (G4bool use)
 

Private Member Functions

G4int FissionAtomicNumber (G4int A)
 
G4double MassDistribution (G4double x, 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)
 
G4double Ratio (G4double A, G4double A11, G4double B1, G4double A00)
 
G4double SymmetricRatio (G4int A, G4double A11)
 
G4double AsymmetricRatio (G4int A, G4double A11)
 
G4ThreeVector IsotropicVector (G4double Magnitude)
 
 G4CompetitiveFission (const G4CompetitiveFission &right)
 
const G4CompetitiveFissionoperator= (const G4CompetitiveFission &right)
 
G4bool operator== (const G4CompetitiveFission &right) const
 
G4bool operator!= (const G4CompetitiveFission &right) const
 

Private Attributes

G4double MaximalKineticEnergy
 
G4VFissionBarrier * theFissionBarrierPtr
 
G4double FissionBarrier
 
G4bool MyOwnFissionBarrier
 
G4VEmissionProbabilitytheFissionProbabilityPtr
 
G4double FissionProbability
 
G4bool MyOwnFissionProbability
 
G4bool MyOwnLevelDensity
 
G4VLevelDensityParametertheLevelDensityPtr
 
G4double LevelDensityParameter
 
G4PairingCorrectionpairingCorrection
 
G4FissionParameters theParam
 

Additional Inherited Members

- Protected Attributes inherited from G4VEvaporationChannel
G4int OPTxs
 
G4bool useSICB
 

Detailed Description

Definition at line 47 of file G4CompetitiveFission.hh.

Constructor & Destructor Documentation

◆ G4CompetitiveFission() [1/2]

G4CompetitiveFission::G4CompetitiveFission ( )

Definition at line 44 of file G4CompetitiveFission.cc.

44  : G4VEvaporationChannel("fission")
45 {
47  MyOwnFissionBarrier = true;
48 
51 
53  MyOwnLevelDensity = true;
54 
55  MaximalKineticEnergy = -1000.0;
56  FissionBarrier = 0.0;
57  FissionProbability = 0.0;
60 }
G4VEvaporationChannel(const G4String &aName="")
G4VEmissionProbability * theFissionProbabilityPtr
G4PairingCorrection * pairingCorrection
G4VLevelDensityParameter * theLevelDensityPtr
G4VFissionBarrier * theFissionBarrierPtr
static G4PairingCorrection * GetInstance()
Here is the call graph for this function:

◆ ~G4CompetitiveFission()

G4CompetitiveFission::~G4CompetitiveFission ( )
virtual

Definition at line 62 of file G4CompetitiveFission.cc.

63 {
67 }
G4VEmissionProbability * theFissionProbabilityPtr
G4VLevelDensityParameter * theLevelDensityPtr
G4VFissionBarrier * theFissionBarrierPtr

◆ G4CompetitiveFission() [2/2]

G4CompetitiveFission::G4CompetitiveFission ( const G4CompetitiveFission right)
private

Member Function Documentation

◆ AsymmetricRatio()

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

Definition at line 179 of file G4CompetitiveFission.hh.

180 {
181  return Ratio(G4double(A),A11,23.5,134.0);
182 }
double A(double temperature)
G4double Ratio(G4double A, G4double A11, G4double B1, G4double A00)
#define A11
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ BreakUp()

G4FragmentVector * G4CompetitiveFission::BreakUp ( const G4Fragment theNucleus)
virtual

Implements G4VEvaporationChannel.

Definition at line 95 of file G4CompetitiveFission.cc.

96 {
97  G4FragmentVector * theResult = new G4FragmentVector();
98  G4Fragment* frag0 = new G4Fragment(theNucleus);
99  G4Fragment* frag1 = EmittedFragment(frag0);
100  if(frag1) { theResult->push_back(frag1); }
101  theResult->push_back(frag0);
102  return theResult;
103 }
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus)
std::vector< G4Fragment * > G4FragmentVector
Definition: G4Fragment.hh:63
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EmittedFragment()

G4Fragment * G4CompetitiveFission::EmittedFragment ( G4Fragment theNucleus)
virtual

Reimplemented from G4VEvaporationChannel.

Definition at line 105 of file G4CompetitiveFission.cc.

106 {
107  G4Fragment * Fragment1 = 0;
108  // Nucleus data
109  // Atomic number of nucleus
110  G4int A = theNucleus->GetA_asInt();
111  // Charge of nucleus
112  G4int Z = theNucleus->GetZ_asInt();
113  // Excitation energy (in MeV)
114  G4double U = theNucleus->GetExcitationEnergy();
116  if (U <= pcorr) { return Fragment1; }
117 
118  // Atomic Mass of Nucleus (in MeV)
119  G4double M = theNucleus->GetGroundStateMass();
120 
121  // Nucleus Momentum
122  G4LorentzVector theNucleusMomentum = theNucleus->GetMomentum();
123 
124  // Calculate fission parameters
125  theParam.DefineParameters(A, Z, U-pcorr, FissionBarrier);
126 
127  // First fragment
128  G4int A1 = 0;
129  G4int Z1 = 0;
130  G4double M1 = 0.0;
131 
132  // Second fragment
133  G4int A2 = 0;
134  G4int Z2 = 0;
135  G4double M2 = 0.0;
136 
137  G4double FragmentsExcitationEnergy = 0.0;
138  G4double FragmentsKineticEnergy = 0.0;
139 
140  G4int Trials = 0;
141  do {
142 
143  // First fragment
144  A1 = FissionAtomicNumber(A);
145  Z1 = FissionCharge(A, Z, A1);
147 
148  // Second Fragment
149  A2 = A - A1;
150  Z2 = Z - Z1;
151  if (A2 < 1 || Z2 < 0 || Z2 > A2) {
152  FragmentsExcitationEnergy = -1.0;
153  continue;
154  }
156  // Maximal Kinetic Energy (available energy for fragments)
157  G4double Tmax = M + U - M1 - M2 - pcorr;
158 
159  // Check that fragment masses are less or equal than total energy
160  if (Tmax < 0.0) {
161  FragmentsExcitationEnergy = -1.0;
162  continue;
163  }
164 
165  FragmentsKineticEnergy = FissionKineticEnergy( A , Z,
166  A1, Z1,
167  A2, Z2,
168  U , Tmax);
169 
170  // Excitation Energy
171  // FragmentsExcitationEnergy = Tmax - FragmentsKineticEnergy;
172  // JMQ 04/03/09 BUG FIXED: in order to fulfill energy conservation the
173  // fragments carry the fission pairing energy in form of
174  // excitation energy
175 
176  FragmentsExcitationEnergy =
177  // Tmax - FragmentsKineticEnergy;
178  Tmax - FragmentsKineticEnergy + pcorr;
179 
180  // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
181  } while (FragmentsExcitationEnergy < 0.0
182  && ++Trials < 100);
183 
184  if (FragmentsExcitationEnergy <= 0.0) {
185  throw G4HadronicException(__FILE__, __LINE__,
186  "G4CompetitiveFission::BreakItUp: Excitation energy for fragments < 0.0!");
187  }
188 
189  // Fragment 1
190  M1 += FragmentsExcitationEnergy * A1/static_cast<G4double>(A);
191  // Fragment 2
192  M2 += FragmentsExcitationEnergy * A2/static_cast<G4double>(A);
193  // primary
194  M += U;
195 
196  G4double etot1 = ((M - M2)*(M + M2) + M1*M1)/(2*M);
197  G4ParticleMomentum Momentum1(IsotropicVector(std::sqrt((etot1 - M1)*(etot1+M1))));
198  G4LorentzVector FourMomentum1(Momentum1, etot1);
199  FourMomentum1.boost(theNucleusMomentum.boostVector());
200 
201  // Create Fragments
202  Fragment1 = new G4Fragment( A1, Z1, FourMomentum1);
203  theNucleusMomentum -= FourMomentum1;
204  theNucleus->SetZandA_asInt(Z2, A2);
205  theNucleus->SetMomentum(theNucleusMomentum);
206  return Fragment1;
207 }
Double_t Z2
G4ThreeVector IsotropicVector(G4double Magnitude)
G4double GetExcitationEnergy() const
Definition: G4Fragment.hh:273
G4int FissionAtomicNumber(G4int A)
static G4double GetNuclearMass(const G4double A, const G4double Z)
G4int GetA_asInt() const
Definition: G4Fragment.hh:256
G4double GetGroundStateMass() const
Definition: G4Fragment.hh:278
G4FissionParameters theParam
int G4int
Definition: G4Types.hh:78
G4PairingCorrection * pairingCorrection
double A(double temperature)
G4int GetZ_asInt() const
Definition: G4Fragment.hh:261
G4double GetFissionPairingCorrection(G4int A, G4int Z) const
Float_t Z
void SetMomentum(const G4LorentzVector &value)
Definition: G4Fragment.hh:294
G4int FissionCharge(G4int A, G4int Z, G4double Af)
const G4LorentzVector & GetMomentum() const
Definition: G4Fragment.hh:289
Hep3Vector boostVector() const
void SetZandA_asInt(G4int Znew, G4int Anew)
Definition: G4Fragment.hh:266
double G4double
Definition: G4Types.hh:76
G4double FissionKineticEnergy(G4int A, G4int Z, G4int Af1, G4int Zf1, G4int Af2, G4int Zf2, G4double U, G4double Tmax)
Double_t Z1
void DefineParameters(G4int A, G4int Z, G4double ExEnergy, G4double FissionBarrier)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FissionAtomicNumber()

G4int G4CompetitiveFission::FissionAtomicNumber ( G4int  A)
private

Definition at line 210 of file G4CompetitiveFission.cc.

212 {
213 
214  // For Simplicity reading code
215  G4int A1 = theParam.GetA1();
216  G4int A2 = theParam.GetA2();
217  G4double As = theParam.GetAs();
218  G4double Sigma2 = theParam.GetSigma2();
219  G4double SigmaS = theParam.GetSigmaS();
220  G4double w = theParam.GetW();
221 
222  G4double C2A = A2 + 3.72*Sigma2;
223  G4double C2S = As + 3.72*SigmaS;
224 
225  G4double C2 = 0.0;
226  if (w > 1000.0 ) { C2 = C2S; }
227  else if (w < 0.001) { C2 = C2A; }
228  else { C2 = std::max(C2A,C2S); }
229 
230  G4double C1 = A-C2;
231  if (C1 < 30.0) {
232  C2 = A-30.0;
233  C1 = 30.0;
234  }
235 
236  G4double Am1 = (As + A1)*0.5;
237  G4double Am2 = (A1 + A2)*0.5;
238 
239  // Get Mass distributions as sum of symmetric and asymmetric Gasussians
240  G4double Mass1 = MassDistribution(As,A);
241  G4double Mass2 = MassDistribution(Am1,A);
242  G4double Mass3 = MassDistribution(G4double(A1),A);
243  G4double Mass4 = MassDistribution(Am2,A);
244  G4double Mass5 = MassDistribution(G4double(A2),A);
245  // get maximal value among Mass1,...,Mass5
246  G4double MassMax = Mass1;
247  if (Mass2 > MassMax) { MassMax = Mass2; }
248  if (Mass3 > MassMax) { MassMax = Mass3; }
249  if (Mass4 > MassMax) { MassMax = Mass4; }
250  if (Mass5 > MassMax) { MassMax = Mass5; }
251 
252  // Sample a fragment mass number, which lies between C1 and C2
253  G4double xm;
254  G4double Pm;
255  do {
256  xm = C1+G4UniformRand()*(C2-C1);
257  Pm = MassDistribution(xm,A);
258  // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
259  } while (MassMax*G4UniformRand() > Pm);
260  G4int ires = G4lrint(xm);
261 
262  return ires;
263 }
const double C2
G4double GetW(void) const
const double C1
G4FissionParameters theParam
int G4int
Definition: G4Types.hh:78
G4double MassDistribution(G4double x, G4int A)
#define G4UniformRand()
Definition: Randomize.hh:97
double A(double temperature)
G4double GetAs(void) const
G4int GetA1(void) const
G4double GetSigmaS(void) const
int G4lrint(double ad)
Definition: templates.hh:163
G4double GetSigma2(void) const
G4int GetA2(void) const
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FissionCharge()

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

Definition at line 288 of file G4CompetitiveFission.cc.

290 {
291  static const G4double sigma = 0.6;
292  G4double DeltaZ = 0.0;
293  if (Af >= 134.0) { DeltaZ = -0.45; }
294  else if (Af <= (A-134.0)) { DeltaZ = 0.45; }
295  else { DeltaZ = -0.45*(Af-A*0.5)/(134.0-A*0.5); }
296 
297  G4double Zmean = (Af/A)*Z + DeltaZ;
298 
299  G4double theZ;
300  do {
301  theZ = G4RandGauss::shoot(Zmean,sigma);
302  // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
303  } while (theZ < 1.0 || theZ > (Z-1.0) || theZ > Af);
304 
305  return G4lrint(theZ);
306 }
ThreeVector shoot(const G4int Ap, const G4int Af)
double A(double temperature)
Float_t Z
int G4lrint(double ad)
Definition: templates.hh:163
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FissionKineticEnergy()

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

Definition at line 309 of file G4CompetitiveFission.cc.

314 {
315  // Find maximal value of A for fragments
316  G4int AfMax = std::max(Af1,Af2);
317 
318  // Weights for symmetric and asymmetric components
319  G4double Pas = 0.0;
320  if (theParam.GetW() <= 1000) {
321  G4double x1 = (AfMax-theParam.GetA1())/theParam.GetSigma1();
322  G4double x2 = (AfMax-theParam.GetA2())/theParam.GetSigma2();
323  Pas = 0.5*G4Exp(-0.5*x1*x1) + G4Exp(-0.5*x2*x2);
324  }
325 
326  G4double Ps = 0.0;
327  if (theParam.GetW() >= 0.001) {
328  G4double xs = (AfMax-theParam.GetAs())/theParam.GetSigmaS();
329  Ps = theParam.GetW()*G4Exp(-0.5*xs*xs);
330  }
331  G4double Psy = Ps/(Pas+Ps);
332 
333  // Fission fractions Xsy and Xas formed in symmetric and asymmetric modes
334  G4double PPas = theParam.GetSigma1() + 2.0 * theParam.GetSigma2();
335  G4double PPsy = theParam.GetW() * theParam.GetSigmaS();
336  G4double Xas = PPas / (PPas+PPsy);
337  G4double Xsy = PPsy / (PPas+PPsy);
338 
339  // Average kinetic energy for symmetric and asymmetric components
340  G4double Eaverage = (0.1071*(Z*Z)/G4Pow::GetInstance()->Z13(A) + 22.2)*CLHEP::MeV;
341 
342  // Compute maximal average kinetic energy of fragments and Energy Dispersion
343  G4double TaverageAfMax;
344  G4double ESigma = 10*CLHEP::MeV;
345  // Select randomly fission mode (symmetric or asymmetric)
346  if (G4UniformRand() > Psy) { // Asymmetric Mode
351  // scale factor
352  G4double ScaleFactor = 0.5*theParam.GetSigma1()*
353  (AsymmetricRatio(A,A11)+AsymmetricRatio(A,A12))+
355  // Compute average kinetic energy for fragment with AfMax
356  TaverageAfMax = (Eaverage + 12.5 * Xsy) * (PPas/ScaleFactor) *
357  AsymmetricRatio(A,G4double(AfMax));
358 
359  } else { // Symmetric Mode
360  G4double As0 = theParam.GetAs() + 0.7979*theParam.GetSigmaS();
361  // Compute average kinetic energy for fragment with AfMax
362  TaverageAfMax = (Eaverage - 12.5*CLHEP::MeV*Xas)
363  *SymmetricRatio(A, G4double(AfMax))/SymmetricRatio(A, As0);
364  ESigma = 8.0*CLHEP::MeV;
365  }
366 
367  // Select randomly, in accordance with Gaussian distribution,
368  // fragment kinetic energy
369  G4double KineticEnergy;
370  G4int i = 0;
371  do {
372  KineticEnergy = G4RandGauss::shoot(TaverageAfMax, ESigma);
373  if (++i > 100) return Eaverage;
374  // Loop checking, 05-Aug-2015, Vladimir Ivanchenko
375  } while (KineticEnergy < Eaverage-3.72*ESigma ||
376  KineticEnergy > Eaverage+3.72*ESigma ||
377  KineticEnergy > Tmax);
378 
379  return KineticEnergy;
380 }
#define A21
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
ThreeVector shoot(const G4int Ap, const G4int Af)
G4double AsymmetricRatio(G4int A, G4double A11)
G4double GetW(void) const
Double_t x2[nxs]
#define A22
G4FissionParameters theParam
int G4int
Definition: G4Types.hh:78
#define A12
#define G4UniformRand()
Definition: Randomize.hh:97
double A(double temperature)
Float_t Z
G4double GetAs(void) const
Double_t x1[nxs]
G4double GetSigma1(void) const
G4double SymmetricRatio(G4int A, G4double A11)
G4int GetA1(void) const
G4double GetSigmaS(void) const
G4double Z13(G4int Z) const
Definition: G4Pow.hh:127
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:183
G4double GetSigma2(void) const
#define A11
G4int GetA2(void) const
double G4double
Definition: G4Types.hh:76
static const double MeV
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetEmissionProbability()

G4double G4CompetitiveFission::GetEmissionProbability ( G4Fragment theNucleus)
virtual

Implements G4VEvaporationChannel.

Definition at line 69 of file G4CompetitiveFission.cc.

70 {
71  G4int anA = fragment->GetA_asInt();
72  G4int aZ = fragment->GetZ_asInt();
73  G4double ExEnergy = fragment->GetExcitationEnergy() -
75 
76  // Saddle point excitation energy ---> A = 65
77  // Fission is excluded for A < 65
78  if (anA >= 65 && ExEnergy > 0.0) {
79  FissionBarrier = theFissionBarrierPtr->FissionBarrier(anA,aZ,ExEnergy);
82  theLevelDensityPtr->LevelDensityParameter(anA,aZ,ExEnergy);
86  }
87  else {
88  MaximalKineticEnergy = -1000.0;
90  FissionProbability = 0.0;
91  }
92  return FissionProbability;
93 }
G4VEmissionProbability * theFissionProbabilityPtr
int G4int
Definition: G4Types.hh:78
G4PairingCorrection * pairingCorrection
G4double GetFissionPairingCorrection(G4int A, G4int Z) const
G4VLevelDensityParameter * theLevelDensityPtr
G4VFissionBarrier * theFissionBarrierPtr
virtual G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const =0
double G4double
Definition: G4Types.hh:76
virtual G4double EmissionProbability(const G4Fragment &fragment, const G4double anEnergy)=0
Here is the call graph for this function:

◆ GetFissionBarrier()

G4double G4CompetitiveFission::GetFissionBarrier ( void  ) const
inline

Definition at line 148 of file G4CompetitiveFission.hh.

149 {
150  return FissionBarrier;
151 }

◆ GetLevelDensityParameter()

G4double G4CompetitiveFission::GetLevelDensityParameter ( void  ) const
inline

Definition at line 153 of file G4CompetitiveFission.hh.

154 {
155  return LevelDensityParameter;
156 }

◆ GetMaximalKineticEnergy()

G4double G4CompetitiveFission::GetMaximalKineticEnergy ( void  ) const
inline

Definition at line 158 of file G4CompetitiveFission.hh.

159 {
160  return MaximalKineticEnergy;
161 }

◆ IsotropicVector()

G4ThreeVector G4CompetitiveFission::IsotropicVector ( G4double  Magnitude)
inlineprivate

Definition at line 192 of file G4CompetitiveFission.hh.

193 {
194  G4double CosTheta = 1.0 - 2.0*G4UniformRand();
195  G4double SinTheta = std::sqrt(1.0 - CosTheta*CosTheta);
197  G4ThreeVector Vector(Magnitude*std::cos(Phi)*SinTheta,
198  Magnitude*std::sin(Phi)*SinTheta,
199  Magnitude*CosTheta);
200  return Vector;
201 }
#define G4UniformRand()
Definition: Randomize.hh:97
double G4double
Definition: G4Types.hh:76
static const double twopi
Definition: SystemOfUnits.h:54
Here is the caller graph for this function:

◆ MassDistribution()

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

Definition at line 266 of file G4CompetitiveFission.cc.

269 {
271  G4double Xsym = G4Exp(-0.5*y0*y0);
272 
275  G4double z1 = (x - A + theParam.GetA1())/theParam.GetSigma1();
276  G4double z2 = (x - A + theParam.GetA2())/theParam.GetSigma2();
277  G4double Xasym = G4Exp(-0.5*y1*y1) + G4Exp(-0.5*y2*y2)
278  + 0.5*( G4Exp(-0.5*z1*z1) + G4Exp(-0.5*z2*z2));
279 
280  G4double res;
281  G4double w = theParam.GetW();
282  if (w > 1000) { res = Xsym; }
283  else if (w < 0.001) { res = Xasym; }
284  else { res = w*Xsym+Xasym; }
285  return res;
286 }
Double_t y2[nxs]
Double_t y1[nxs]
G4double GetW(void) const
G4FissionParameters theParam
double A(double temperature)
G4double GetAs(void) const
G4double GetSigma1(void) const
G4int GetA1(void) const
G4double GetSigmaS(void) const
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:183
G4double GetSigma2(void) const
G4int GetA2(void) const
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 
)
inlineprivate

Definition at line 164 of file G4CompetitiveFission.hh.

166 {
167  G4double res;
168  if (A11 >= A*0.5 && A11 <= (A00+10.0)) {
169  G4double x = (A11-A00)/A;
170  res = 1.0 - B1*x*x;
171  } else {
172  G4double x = 10.0/A;
173  res = 1.0 - B1*x*x - 2.0*x*B1*(A11-A00-10.0)/A;
174  }
175  return res;
176 }
#define A00
double A(double temperature)
#define A11
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetEmissionStrategy()

void G4CompetitiveFission::SetEmissionStrategy ( G4VEmissionProbability aFissionProb)
inline

Definition at line 133 of file G4CompetitiveFission.hh.

134 {
136  theFissionProbabilityPtr = aFissionProb;
137  MyOwnFissionProbability = false;
138 }
G4VEmissionProbability * theFissionProbabilityPtr
Here is the caller graph for this function:

◆ SetFissionBarrier()

void G4CompetitiveFission::SetFissionBarrier ( G4VFissionBarrier *  aBarrier)
inline

Definition at line 125 of file G4CompetitiveFission.hh.

126 {
128  theFissionBarrierPtr = aBarrier;
129  MyOwnFissionBarrier = false;
130 }
G4VFissionBarrier * theFissionBarrierPtr

◆ SetLevelDensityParameter()

void G4CompetitiveFission::SetLevelDensityParameter ( G4VLevelDensityParameter aLevelDensity)
inline

Definition at line 141 of file G4CompetitiveFission.hh.

142 {
144  theLevelDensityPtr = aLevelDensity;
145  MyOwnLevelDensity = false;
146 }
G4VLevelDensityParameter * theLevelDensityPtr
Here is the caller graph for this function:

◆ SymmetricRatio()

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

Definition at line 185 of file G4CompetitiveFission.hh.

186 {
187  G4double A0 = G4double(A);
188  return Ratio(A0,A11,5.32,A0*0.5);
189 }
double A(double temperature)
G4double Ratio(G4double A, G4double A11, G4double B1, G4double A00)
#define A11
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ FissionBarrier

G4double G4CompetitiveFission::FissionBarrier
private

Definition at line 106 of file G4CompetitiveFission.hh.

◆ FissionProbability

G4double G4CompetitiveFission::FissionProbability
private

Definition at line 111 of file G4CompetitiveFission.hh.

◆ LevelDensityParameter

G4double G4CompetitiveFission::LevelDensityParameter
private

Definition at line 117 of file G4CompetitiveFission.hh.

◆ MaximalKineticEnergy

G4double G4CompetitiveFission::MaximalKineticEnergy
private

Definition at line 102 of file G4CompetitiveFission.hh.

◆ MyOwnFissionBarrier

G4bool G4CompetitiveFission::MyOwnFissionBarrier
private

Definition at line 107 of file G4CompetitiveFission.hh.

◆ MyOwnFissionProbability

G4bool G4CompetitiveFission::MyOwnFissionProbability
private

Definition at line 112 of file G4CompetitiveFission.hh.

◆ MyOwnLevelDensity

G4bool G4CompetitiveFission::MyOwnLevelDensity
private

Definition at line 115 of file G4CompetitiveFission.hh.

◆ pairingCorrection

G4PairingCorrection* G4CompetitiveFission::pairingCorrection
private

Definition at line 119 of file G4CompetitiveFission.hh.

◆ theFissionBarrierPtr

G4VFissionBarrier* G4CompetitiveFission::theFissionBarrierPtr
private

Definition at line 105 of file G4CompetitiveFission.hh.

◆ theFissionProbabilityPtr

G4VEmissionProbability* G4CompetitiveFission::theFissionProbabilityPtr
private

Definition at line 110 of file G4CompetitiveFission.hh.

◆ theLevelDensityPtr

G4VLevelDensityParameter* G4CompetitiveFission::theLevelDensityPtr
private

Definition at line 116 of file G4CompetitiveFission.hh.

◆ theParam

G4FissionParameters G4CompetitiveFission::theParam
private

Definition at line 121 of file G4CompetitiveFission.hh.


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