93 G4cout <<
"Calling G4XrayRayleighModel::Initialise()" <<
G4endl;
115 G4cout <<
"Calling CrossSectionPerAtom() of G4XrayRayleighModel" <<
G4endl;
137 fo *= 0.01*std::exp(lna);
146 xsc *= fo*fo + (1. + fo)*(1. + fo);
163 G4cout <<
"Calling SampleSecondaries() of G4XrayRayleighModel" <<
G4endl;
173 G4double cosDipole, cosTheta, sinTheta;
184 delta = std::sqrt(
a*
a+4.);
187 cofA = -signc*std::pow(delta, power);
188 cosDipole = cofA - 1./cofA;
211 fo *= 0.01*
pi*std::exp(lna);
216 cosTheta = (cosDipole + beta)/(1. + cosDipole*beta);
219 if( cosTheta > 1.) cosTheta = 1.;
220 if( cosTheta < -1.) cosTheta = -1.;
222 sinTheta = std::sqrt( (1. - cosTheta)*(1. + cosTheta) );
227 G4double dirX = sinTheta*std::cos(phi);
228 G4double dirY = sinTheta*std::sin(phi);
234 photonDirection1.
rotateUz(photonDirection0);