71 _nucleusA(A), _nucleusZ(Z), _excitation(excitation), _levelManager(levelManager)
79 if (eTolerance < 0.) eTolerance = 0.;
85 _gammaCreationTime = 0.;
95 G4double widthGDR = 0.30 * energyGDR;
98 _eMax = energyGDR + factor * widthGDR;
99 if (_eMax > excitation) _eMax = _excitation;
118 for (i=0; i<nBins; i++)
120 G4double e = _eMin + ( (_eMax - _eMin) / nBins) * i;
121 sampleArray[i] = E1Pdf(e);
124 G4cout <<
"*---* G4ContinuumTransition: e = " << e
125 <<
" pdf = " << sampleArray[i] <<
G4endl;
130 _eGamma = _eMin + (_eMax - _eMin) * random;
132 G4double finalExcitation = _excitation - _eGamma;
135 G4cout <<
"*---*---* G4ContinuumTransition: eGamma = " << _eGamma
136 <<
" finalExcitation = " << finalExcitation
137 <<
" random = " << random <<
G4endl;
140 if(finalExcitation < _minLevelE/2.)
142 _eGamma = _excitation;
143 finalExcitation = 0.;
146 if (finalExcitation < _maxLevelE && finalExcitation > 0.)
149 G4double diff = finalExcitation - levelE;
150 _eGamma = _eGamma + diff;
153 _gammaCreationTime = GammaTime();
156 G4cout <<
"*---*---* G4ContinuumTransition: _gammaCreationTime = "
169 return _gammaCreationTime;
175 if (energy > 0.) _excitation =
energy;
182 G4double U = std::max(0.0, _excitation - e);
184 if(e < 0.0 || _excitation < 0.0) {
return theProb; }
192 G4double coeff = std::exp(2.0*(std::sqrt(aLevelDensityParam*U)
193 - std::sqrt(aLevelDensityParam*_excitation)));
212 G4double numerator = sigma0 * e*e * GammaR*GammaR;
213 G4double denominator = (e*e - Egdp*Egdp)* (e*e - Egdp*Egdp) + GammaR*GammaR*e*
e;
216 G4double sigmaAbs = numerator/denominator ;
219 G4cout <<
".. " << Egdp <<
" .. " << GammaR
220 <<
" .. " << normC <<
" .. " << sigmaAbs
221 <<
" .. " << e*e <<
" .. " << coeff
226 theProb = sigmaAbs * e*e * coeff;
232 G4double G4ContinuumGammaTransition::GammaTime()