87 G4cout <<
"G4VEmissionProbability::IntegrateProbability Probability="
96 G4double enew = FindRecoilExcitation(ekin);
98 G4cout <<
"### G4VEmissionProbability::SampleEnergy: Efin(MeV)= "
99 << enew <<
" E=" << ekin <<
" Eexc=" << fExcRes <<
G4endl;
121 G4cout <<
"### FindRecoilExcitation for resZ= "
123 <<
" evaporated Z= " <<
theZ <<
" A= " <<
theA
124 <<
" Ekin= " << e <<
" Eexc= " << fExcRes <<
G4endl;
130 return std::max(0.5*(m02 + m12 - m22)/
pMass - mass, 0.0);
132 if (!fFD) {
return e; }
136 if(
nullptr == lManager) {
return e; }
139 if(fExcRes > lManager->MaxLevelEnergy() +
pTolerance) {
return e; }
142 std::size_t idx = lManager->NearestLevelIndex(fExcRes);
143 auto level = lManager->GetLevel(idx);
144 G4double ltime = level->GetTimeGamma();
145 G4double elevel = lManager->LevelEnergy(idx);
150 if ((idx <= 1 || std::abs(elevel - fExcRes) <=
pWidth || ltime >= fMaxLifeTime) &&
155 efinal = std::max(0.5*(m02 + m12 - mr2)/
pMass - mass, 0.0);
G4GLOB_DLL std::ostream G4cout
G4bool GetDiscreteExcitationFlag() const
G4int GetDeexModelType() const
G4double GetNuclearLevelWidth() const
G4double GetMaxLifeTime() const
G4double GetMinExcitation() const
static G4NuclearLevelData * GetInstance()
static G4double GetNuclearMass(const G4double A, const G4double Z)
static G4Pow * GetInstance()
G4VEmissionProbability(G4int Z, G4int A)
virtual void Initialise()
G4double IntegrateProbability(G4double elow, G4double ehigh, G4double CB)
virtual G4double ComputeProbability(G4double anEnergy, G4double CB)
virtual G4double EmissionProbability(const G4Fragment &fragment, G4double anEnergy)
G4NuclearLevelData * pNuclearLevelData
G4double ProbabilityDensityFunction(G4double energy) override
void ResetIntegrator(G4double de, G4double eps)
G4double ComputeIntegral(const G4double emin, const G4double emax)
void InitialiseIntegrator(G4double accuracy, G4double fact1, G4double fact2, G4double de, G4double dmin, G4double dmax)