69 twoln10(2.0*
G4Log(10.0))
172 if(cutEnergy < maxEnergy) {
175 G4double energy2 = totEnergy*totEnergy;
176 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*
mass)/energy2;
178 cross = (maxEnergy - cutEnergy)/(cutEnergy*maxEnergy)
179 - beta2*
G4Log(maxEnergy/cutEnergy)/tmax;
182 if( 0.0 <
spin ) { cross += 0.5*(maxEnergy - cutEnergy)/energy2; }
241 - (1.0 + cutEnergy/tmax)*beta2;
300 if(elossnew > preKinEnergy) { elossnew = preKinEnergy; }
301 else if(elossnew < 0.0) { elossnew = eloss*0.5; }
309 vector<G4DynamicParticle*>* vdp,
321 if(minKinEnergy >= maxKinEnergy) {
return; }
327 G4double etot2 = totEnergy*totEnergy;
328 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*
mass)/etot2;
333 if( 0.0 <
spin ) { fmax += 0.5*maxKinEnergy*maxKinEnergy/etot2; }
341 deltaKinEnergy = minKinEnergy*maxKinEnergy
342 /(minKinEnergy*(1.0 - rndm[0]) + maxKinEnergy*rndm[0]);
344 f = 1.0 - beta2*deltaKinEnergy/tmax;
346 f1 = 0.5*deltaKinEnergy*deltaKinEnergy/etot2;
351 }
while( fmax*rndm[1] > f);
366 G4cout <<
"### G4LindhardSorensenIonModel WARNING: grej= " << grej
368 <<
" Ekin(MeV)= " << kineticEnergy
369 <<
" delEkin(MeV)= " << deltaKinEnergy
372 if(rndmEngineMod->
flat() > grej) {
return; }
391 if(cost > 1.0) { cost = 1.0; }
392 G4double sint = sqrt((1.0 - cost)*(1.0 + cost));
396 deltaDirection.
set(sint*cos(phi),sint*sin(phi), cost) ;
414 vdp->push_back(delta);
417 kineticEnergy -= deltaKinEnergy;
419 finalP = finalP.
unit();