67G4PreCompoundFragment::IntegrateEmissionProbability(
G4double low,
G4double up,
70 static const G4double den = 1.0/CLHEP::MeV;
72 G4int nbins = del*den;
73 nbins = std::max(nbins, 4);
80 for (
G4int i=1; i<nbins; ++i) {
84 probmax = std::max(probmax, y);
86 if(y < sum*0.01) {
break; }
107 recentXS = GetOpt0(ekin);
108 }
else if (
OPTxs == 1) {
111 recentXS =
fXSection->GetElementCrossSection(ekin, Z)/CLHEP::millibarn;
113 }
else if (
OPTxs == 2) {
130 G4double r0 = theParameters->GetR0()*theResA13;
133 return 1.e+25*CLHEP::pi*r0*r0*theResA13*GetAlpha()*(1.0 + GetBeta()/ekin);
144 for(i=0; i<100; ++i) {
161 if(probmax*rndm->
flat() <= prob) {
break; }
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int resA)
static G4double ComputePowerParameter(G4int resA, G4int idx)
static G4double ComputeCrossSection(G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int A, G4int resA)
G4double CalcEmissionProbability(const G4Fragment &aFragment) override
G4PreCompoundFragment(const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
G4double CrossSection(G4double ekin)
G4double SampleKineticEnergy(const G4Fragment &aFragment) override
virtual G4double ProbabilityDistributionFunction(G4double ekin, const G4Fragment &aFragment)=0
G4bool Initialize(const G4Fragment &aFragment)
G4VPreCompoundFragment(const G4ParticleDefinition *, G4VCoulombBarrier *)
G4InterfaceToXS * fXSection
G4double theEmissionProbability
G4double theCoulombBarrier