Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FissionProbability Class Reference

#include <G4FissionProbability.hh>

+ Inheritance diagram for G4FissionProbability:

Public Member Functions

 G4FissionProbability ()
 
 ~G4FissionProbability () override
 
G4double EmissionProbability (const G4Fragment &fragment, G4double MaximalKineticEnergy) override
 
void SetEvaporationLevelDensityParameter (G4VLevelDensityParameter *aLevelDensity)
 
void SetFissionLevelDensityParameter (G4VLevelDensityParameter *aLevelDensity)
 
 G4FissionProbability (const G4FissionProbability &right)=delete
 
const G4FissionProbabilityoperator= (const G4FissionProbability &right)=delete
 
G4bool operator== (const G4FissionProbability &right) const =delete
 
G4bool operator!= (const G4FissionProbability &right) const =delete
 
- Public Member Functions inherited from G4VEmissionProbability
 G4VEmissionProbability (G4int Z, G4int A)
 
virtual ~G4VEmissionProbability ()=default
 
void Initialise ()
 
virtual G4double ComputeProbability (G4double anEnergy, G4double CB)
 
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 G4VEmissionProbabilityoperator= (const G4VEmissionProbability &right)=delete
 
G4bool operator== (const G4VEmissionProbability &right) const =delete
 
G4bool operator!= (const G4VEmissionProbability &right) const =delete
 

Additional Inherited Members

- Protected Member Functions inherited from G4VEmissionProbability
void ResetIntegrator (size_t nbin, G4double de, G4double eps)
 
G4double IntegrateProbability (G4double elow, G4double ehigh, G4double CB)
 
- Protected Attributes inherited from G4VEmissionProbability
G4NuclearLevelDatapNuclearLevelData
 
G4PowpG4pow
 
G4int OPTxs
 
G4int pVerbose
 
G4int theZ
 
G4int theA
 
G4int resZ = 0
 
G4int resA = 0
 
G4double pMass = 0.0
 
G4double pEvapMass = 0.0
 
G4double pResMass = 0.0
 
G4double pProbability = 0.0
 
G4double pTolerance = 0.0
 

Detailed Description

Definition at line 39 of file G4FissionProbability.hh.

Constructor & Destructor Documentation

◆ G4FissionProbability() [1/2]

G4FissionProbability::G4FissionProbability ( )
explicit

Definition at line 44 of file G4FissionProbability.cc.

44 :
47 theFissLDP(new G4FissionLevelDensityParameter),
48 ownEvapLDP(true),
49 ownFissLDP(true)
50{
52}
G4PairingCorrection * GetPairingCorrection()
static G4NuclearLevelData * GetInstance()
G4VEmissionProbability(G4int Z, G4int A)

◆ ~G4FissionProbability()

G4FissionProbability::~G4FissionProbability ( )
override

Definition at line 54 of file G4FissionProbability.cc.

55{
56 if (ownEvapLDP) delete theEvapLDP;
57 if (ownFissLDP) delete theFissLDP;
58}

◆ G4FissionProbability() [2/2]

G4FissionProbability::G4FissionProbability ( const G4FissionProbability & right)
delete

Member Function Documentation

◆ EmissionProbability()

G4double G4FissionProbability::EmissionProbability ( const G4Fragment & fragment,
G4double MaximalKineticEnergy )
overridevirtual

Reimplemented from G4VEmissionProbability.

Definition at line 61 of file G4FissionProbability.cc.

64{
65 if (MaximalKineticEnergy <= 0.0) { return 0.0; }
66 G4int A = fragment.GetA_asInt();
67 G4int Z = fragment.GetZ_asInt();
68 G4double U = fragment.GetExcitationEnergy();
69
70 G4double Ucompound = U - fPairCorr->GetPairingCorrection(A,Z);
71 G4double Ufission = U - fPairCorr->GetFissionPairingCorrection(A,Z);
72 if(Ucompound < 0.0 || Ufission < 0.0) { return 0.0; }
73
74 G4double SystemEntropy =
75 2.0*std::sqrt(theEvapLDP->LevelDensityParameter(A,Z,Ucompound)*Ucompound);
76
77 G4double afission = theFissLDP->LevelDensityParameter(A,Z,Ufission);
78
79 G4double Cf = 2.0*std::sqrt(afission*MaximalKineticEnergy);
80 G4double Exp1 = (SystemEntropy <= 160.0) ? G4Exp(-SystemEntropy) : 0.0;
81 G4double Exp2 = (SystemEntropy-Cf <= 160.0) ? G4Exp(-SystemEntropy+Cf) : 0.0;
82
83 // JMQ 14/02/09 BUG fixed in fission probability (missing parenthesis
84 // at denominator)
85 G4double probability = (Exp1 + (Cf-1.0)*Exp2) / (4.0*pi*afission);
86
87 return probability;
88}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition G4Exp.hh:180
double G4double
Definition G4Types.hh:83
int G4int
Definition G4Types.hh:85
const G4double A[17]
G4double GetExcitationEnergy() const
G4int GetZ_asInt() const
G4int GetA_asInt() const
G4double GetFissionPairingCorrection(G4int A, G4int Z) const
G4double GetPairingCorrection(G4int A, G4int Z) const
virtual G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const =0

◆ operator!=()

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

◆ operator=()

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

◆ operator==()

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

◆ SetEvaporationLevelDensityParameter()

void G4FissionProbability::SetEvaporationLevelDensityParameter ( G4VLevelDensityParameter * aLevelDensity)
inline

Definition at line 51 of file G4FissionProbability.hh.

52 {
53 if (ownEvapLDP) delete theEvapLDP;
54 theEvapLDP = aLevelDensity;
55 ownEvapLDP = false;
56 }

◆ SetFissionLevelDensityParameter()

void G4FissionProbability::SetFissionLevelDensityParameter ( G4VLevelDensityParameter * aLevelDensity)
inline

Definition at line 59 of file G4FissionProbability.hh.

60 {
61 if (ownFissLDP) delete theFissLDP;
62 theFissLDP = aLevelDensity;
63 ownFissLDP = false;
64 }

Referenced by G4INCLXXInterface::G4INCLXXInterface().


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