55 : theA(0), theZ(0), aEff(0.0), zEff(0)
124 const G4int maxNumberOfLoops = 1000000;
125 G4int loopCounter = -1;
126 while ( (value/norm<random) && ++loopCounter < maxNumberOfLoops )
130 value = (targetVelocity+aVelocity).mag()/velMag;
133 if ( loopCounter >= maxNumberOfLoops ) {
135 ed <<
" Failed sampling after maxNumberOfLoops attempts : forced exit! " <<
G4endl;
146 if (currentTemp < 0) currentTemp =
theTemp;
154 G4double tMom = std::sqrt(px*px+py*py+pz*pz);
159 if (tEtot/theTarget.
GetMass() - 1. > 0.001) {
183 if (running > random*sum) {
184 element = (*theElementVector)[i];
193 while (iso < element->GetNumberOfIsotopes() &&
194 sumAbundance < randomAbundance) {
216 if (
theA<1 || theZ<0 || theZ>
theA) {
218 "G4Nucleus::SetParameters called with non-physical parameters");
233 "G4Nucleus::SetParameters called with non-physical parameters");
250 return targetParticle;
302 * ((atno-1.0)/120.)*
G4Exp(-(atno-1.0)/120.);
317 for(
G4int i=0; i<12; ++i )
342 if(
aEff < 1.5 || ekOrg < 0.)
355 * ((atno-1.0)/120.)*
G4Exp(-(atno-1.0)/120.);
363 for(
G4int i=0; i<12; ++i ) {
373 if (blackSum >= ekOrg/
GeV) {
375 dtaBlackTrackEnergyfromAnnihilation *= ekOrg/
GeV/blackSum;
390 static const G4double expxl = -expxu;
401 if( temp2 > 1.0
e-10 )result = temp1*
temp2;
403 else result = temp1*
temp2;
404 if( result < -ek )result = -ek;
423 G4double ranmax = (ranflat1>ranflat2? ranflat1: ranflat2);
424 ranmax = (ranmax>ranflat3? ranmax : ranflat3);
428 G4double sintheta = std::sqrt(1.0 - costheta*costheta);
432 G4double px=sintheta*std::cos(phi)*ranmax;
433 G4double py=sintheta*std::sin(phi)*ranmax;