54   lowEnergyLimit  = 250*
eV; 
 
   55   highEnergyLimit = 10.*
MeV;
 
   73        << lowEnergyLimit / 
eV << 
" eV - " 
   74        << highEnergyLimit / 
MeV << 
" MeV" 
   93     G4cout << 
"Calling G4XrayRayleighModel::Initialise()" << 
G4endl;
 
   99   if(isInitialised) 
return; 
 
  101   isInitialised = 
true;
 
  113   if (verboseLevel > 3) 
 
  115     G4cout << 
"Calling CrossSectionPerAtom() of G4XrayRayleighModel" << 
G4endl;
 
  117   if (gammaEnergy < lowEnergyLimit || gammaEnergy > highEnergyLimit) 
 
  137   fo *= 0.01*std::exp(lna);
 
  146            xsc *= fo*fo + (1. + fo)*(1. + fo);  
 
  161   if ( verboseLevel > 3)
 
  163     G4cout << 
"Calling SampleSecondaries() of G4XrayRayleighModel" << 
G4endl;
 
  173   G4double cosDipole, cosTheta, sinTheta;
 
  174   G4double c, delta, cofA, signc = 1., 
a, power = 1./3.;
 
  184   delta  = std::sqrt(
a*
a+4.);
 
  187   cofA = -signc*std::pow(delta, power);
 
  188   cosDipole = cofA - 1./cofA;
 
  210   fo *= 0.01*
pi*std::exp(lna);
 
  215   cosTheta = (cosDipole + beta)/(1. + cosDipole*beta);
 
  218   if( cosTheta >  1.) cosTheta =  1.;
 
  219   if( cosTheta < -1.) cosTheta = -1.;
 
  221   sinTheta = std::sqrt( (1. - cosTheta)*(1. + cosTheta) );
 
  226   G4double dirX = sinTheta*std::cos(phi);
 
  227   G4double dirY = sinTheta*std::sin(phi);
 
  233   photonDirection1.
rotateUz(photonDirection0);