40 : OPTxs(3),pVerbose(1),theZ(Z),theA(A),resZ(0),resA(0),
41 pMass(0.0),pEvapMass(0.0),pResMass(0.0),fExc(0.0),fExcRes(0.0),
42 elimit(CLHEP::
MeV),accuracy(0.02),fFD(
false)
66 if(nbins > 0) {
length = nbins; }
67 if(de > 0.0) {
elimit = de; }
108 G4cout <<
"### G4VEmissionProbability::IntegrateProbability: "
109 <<
" Emax= " <<
emax <<
" QB= " << cb <<
" nbin= " <<
nbin
113 for(
size_t i=1; i<=
nbin; ++i) {
116 edelta += (
emax -
x);
123 G4cout <<
" " << i <<
". E= " <<
x <<
" prob= " << y
124 <<
" Edel= " << edelta <<
G4endl;
127 del = (y + problast)*edelta*0.5;
135 0.7*edelta > edeltamin) {
137 }
else if(del < 0.1*
pProbability && 1.5*edelta < edeltamax) {
155 G4cout <<
"### G4VEmissionProbability::SampleEnergy: "
156 <<
" Emin= " <<
emin <<
" Emax= " <<
emax
171 <<
". prob= " << g <<
" probmax= " <<
probmax
172 <<
" Ekin= " << ekin <<
G4endl;
175 G4cout <<
"### G4VEmissionProbability::SampleEnergy for Z= " <<
theZ
177 <<
"\n Warning n= " << n
178 <<
" prob/probmax= " << g/
probmax
179 <<
" prob= " << g <<
" probmax= " <<
probmax
180 <<
"\n Ekin= " << ekin <<
" Emin= " << emin
197 G4double mres = std::sqrt(m02 + m12 - 2.*pMass*(mass + e));
203 G4cout <<
"### G4VEmissionProbability::FindRecoilExcitation for resZ= "
205 <<
" evaporated Z= " <<
theZ <<
" A= " <<
theA
213 return std::max(0.5*(m02 + m12 - m22)/pMass - mass,0.0);
217 if(!lManager) {
return e; }
221 if(
fExcRes > lManager->MaxLevelEnergy() + tolerance) {
return e; }
224 auto idx = lManager->NearestLevelIndex(
fExcRes);
230 if(pMass > mass + pResMass +
fExcRes && lManager->FloatingLevel(
idx) == 0) {
235 return std::max(0.5*(m02 + m12 - mr2)/pMass - mass,0.0);
241 return std::max(0.5*(m02 + m12 - m22)/pMass - mass,0.0);