#include <G4FissionProbability.hh>
Inheritance diagram for G4FissionProbability:
Public Member Functions | |
G4FissionProbability () | |
~G4FissionProbability () | |
G4double | EmissionProbability (const G4Fragment &fragment, G4double MaximalKineticEnergy) |
Definition at line 43 of file G4FissionProbability.hh.
G4FissionProbability::G4FissionProbability | ( | ) |
G4FissionProbability::~G4FissionProbability | ( | ) |
G4double G4FissionProbability::EmissionProbability | ( | const G4Fragment & | fragment, | |
G4double | MaximalKineticEnergy | |||
) | [virtual] |
Implements G4VEmissionProbability.
Definition at line 48 of file G4FissionProbability.cc.
References G4Fragment::GetA_asInt(), G4Fragment::GetExcitationEnergy(), G4PairingCorrection::GetFissionPairingCorrection(), G4PairingCorrection::GetInstance(), G4PairingCorrection::GetPairingCorrection(), G4Fragment::GetZ_asInt(), G4FissionLevelDensityParameter::LevelDensityParameter(), G4EvaporationLevelDensityParameter::LevelDensityParameter(), and G4INCL::Math::pi.
00051 { 00052 if (MaximalKineticEnergy <= 0.0) return 0.0; 00053 G4int A = fragment.GetA_asInt(); 00054 G4int Z = fragment.GetZ_asInt(); 00055 G4double U = fragment.GetExcitationEnergy(); 00056 00057 G4double Ucompound = U - 00058 G4PairingCorrection::GetInstance()->GetPairingCorrection(A,Z); 00059 00060 G4double Ufission = U - 00061 G4PairingCorrection::GetInstance()->GetFissionPairingCorrection(A,Z); 00062 00063 G4double SystemEntropy = 00064 2.0*std::sqrt(theEvapLDP.LevelDensityParameter(A,Z,Ucompound)*Ucompound); 00065 00066 G4double afission = theFissLDP.LevelDensityParameter(A,Z,Ufission); 00067 00068 G4double Cf = 2.0*std::sqrt(afission*MaximalKineticEnergy); 00069 00070 // G4double Q1 = 1.0 + (Cf - 1.0)*std::exp(Cf); 00071 // G4double Q2 = 4.0*pi*afission*std::exp(SystemEntropy); 00072 00073 // G4double probability = Q1/Q2; 00074 00075 G4double Exp1 = 0.0; 00076 if (SystemEntropy <= 160.0) { Exp1 = std::exp(-SystemEntropy); } 00077 // @@@@@@@@@@@@@@@@@ hpw changed max to min - cannot notify vicente now 00078 G4double Exp2 = std::exp( std::min(700.0,Cf-SystemEntropy) ); 00079 00080 // JMQ 14/02/09 BUG fixed in fission probability (missing parenthesis 00081 // at denominator) 00082 //AH fix from Vincente: G4double probability = 00083 // (Exp1 + (1.0-Cf)*Exp2) / 4.0*pi*afission; 00084 // G4double probability = (Exp1 + (Cf-1.0)*Exp2) / 4.0*pi*afission; 00085 G4double probability = (Exp1 + (Cf-1.0)*Exp2) / (4.0*pi*afission); 00086 00087 return probability; 00088 }