77 fTrackSecondariesFirst(
false),
177 if (MeanNumberOfPhotons <= 0.0) {
189 MeanNumberOfPhotons = MeanNumberOfPhotons * step_length;
222 G4double maxCos = BetaInverse / nMax;
223 G4double maxSin2 = (1.0 - maxCos) * (1.0 + maxCos);
245 sampledEnergy = Pmin + rand * dp;
246 sampledRI = Rindex->
Value(sampledEnergy);
247 cosTheta = BetaInverse / sampledRI;
249 sin2Theta = (1.0 - cosTheta)*(1.0 + cosTheta);
253 }
while (rand*maxSin2 > sin2Theta);
268 G4double sinTheta = std::sqrt(sin2Theta);
303 photonPolarization.
y(),
304 photonPolarization.
z());
314 NumberOfPhotons = MeanNumberOfPhotons1 - rand *
315 (MeanNumberOfPhotons1-MeanNumberOfPhotons2);
317 std::max(MeanNumberOfPhotons1,MeanNumberOfPhotons2);
319 }
while (N > NumberOfPhotons);
327 G4double aSecondaryTime = t0 + deltaTime;
332 new G4Track(aCerenkovPhoton,aSecondaryTime,aSecondaryPosition);
343 G4cout <<
"\n Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = "
368 for (
G4int i=0 ; i < numOfMaterials; i++) {
375 G4Material* aMaterial = (*theMaterialTable)[i];
380 if (aMaterialPropertiesTable) {
385 if (theRefractionIndexVector) {
390 G4double currentRI = (*theRefractionIndexVector)[0];
392 if (currentRI > 1.0) {
400 aPhysicsOrderedFreeVector->
InsertValues(currentPM , currentCAI);
414 currentRI = (*theRefractionIndexVector)[ii];
415 currentPM = theRefractionIndexVector->
Energy(ii);
417 currentCAI = 0.5*(1.0/(prevRI*prevRI) +
418 1.0/(currentRI*currentRI));
420 currentCAI = prevCAI + (currentPM - prevPM) * currentCAI;
422 aPhysicsOrderedFreeVector->
423 InsertValues(currentPM, currentCAI);
426 prevCAI = currentCAI;
490 if (aMaterialPropertiesTable)
501 if ( BetaMin >= 1. )
return StepLimit;
503 G4double GammaMin = 1./std::sqrt(1.-BetaMin*BetaMin);
505 if (gamma < GammaMin )
return StepLimit;
507 G4double kinEmin = mass*(GammaMin-1.);
521 if (Step < 1.
e-15*
mm)
return StepLimit;
523 if (Step < StepLimit) StepLimit = Step;
537 if (MeanNumberOfPhotons > 0.0) Step =
fMaxPhotons / MeanNumberOfPhotons;
539 if (Step > 0. && Step < StepLimit) StepLimit = Step;
549 G4double deltaGamma = gamma - 1./std::sqrt(1.-beta*beta*
553 Step = mass * deltaGamma / dedx;
555 if (Step > 0. && Step < StepLimit) StepLimit = Step;
577 if(beta <= 0.0)
return 0.0;
609 if (nMax < BetaInverse) {
616 else if (nMin > BetaInverse) {
635 ge = CAImax - CAImin;
645 (dp - ge * BetaInverse*BetaInverse);
655 for (
G4int i = 0 ; i < PhysicsTableSize ; i++ ) {