129 if(0 == numRegions) {
131 "no G4Regions are registered for the PAI model - World is used");
133 ->GetRegion(
"DefaultRegionForTheWorld",
false));
137 for(
size_t iReg = 0; iReg < numRegions; ++iReg )
142 for(
size_t jMat = 0; jMat < numOfMat; ++jMat)
152 << mat->
GetName() <<
"> fCouple= "
153 << cutCouple <<
", idx= " << cutCouple->
GetIndex()
155 <<
", cuts.size() = " << cuts.size() <<
G4endl;
210 if(0 > coupleIndex) {
return 0.0; }
229 if(0 > coupleIndex)
return 0.0;
233 if(tmax <= cutEnergy)
return 0.0;
254 if(0 > coupleIndex) {
return; }
262 if( maxEnergy < tmax) tmax = maxEnergy;
263 if( tmin >= tmax)
return;
268 G4double totalMomentum = sqrt(kineticEnergy*(totalEnergy + fMass));
278 if( deltaTkin <= 0. && fVerbose > 0)
280 G4cout<<
"G4PAIPhotModel::SampleSecondary e- deltaTkin = "<<deltaTkin<<
G4endl;
282 if( deltaTkin <= 0.)
return;
284 if( deltaTkin > tmax) deltaTkin = tmax;
297 kineticEnergy -= deltaTkin;
299 if( kineticEnergy <= 0. )
309 direction = dir.
unit();
312 vdp->push_back(deltaRay);
321 if( deltaTkin <= 0. )
323 G4cout<<
"G4PAIPhotonModel::SampleSecondary gamma deltaTkin = "<<deltaTkin<<
G4endl;
325 if( deltaTkin <= 0.)
return;
327 if( deltaTkin >= kineticEnergy )
329 deltaTkin = kineticEnergy;
333 G4double sintheta = sqrt((1.+costheta)*(1.-costheta));
337 G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta;
342 if( kineticEnergy > 0.)
344 kineticEnergy -= deltaTkin;
359 vdp->push_back(photonRay);
373 if(0 > coupleIndex) {
return eloss; }
415 G4double etot = kineticEnergy + particleMass;
416 G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*particleMass)/(etot*etot);
418 * electronDensity * q * q;
447 (1. + 2.0*gamma*ratio + ratio*
ratio);