41 G4cout <<
"Regular X-ray TR radiator EM process is called" <<
G4endl;
57 out <<
"Simulation of X-ray transition radiation generated by\n"
58 "relativistic charged particles crossing the interface between\n"
59 "two materials. Thicknesses of plates and gaps are fixed.\n";
65 G4double result, sum = 0., tmp, cof1, cof2, cofMin, cofPHC, theta2, theta2k;
71 sigma = 0.5 * (aMa + bMb);
75 cofPHC = 4 * pi * hbarc;
94 G4cout << cof1 <<
" " << cof2 <<
" " << cofMin <<
G4endl;
95 G4cout <<
"kMin = " << kMin <<
"; kMax = " << kMax <<
G4endl;
97 for(k = kMin; k <= kMax; ++k)
100 result = (k - cof1) * (k - cof1) * (k + cof2) * (k + cof2);
101 if(k == kMin && kMin ==
G4int(cofMin))
104 0.5 * std::sin(tmp) * std::sin(tmp) * std::abs(k - cofMin) / result;
108 sum += std::sin(tmp) * std::sin(tmp) * std::abs(k - cofMin) / result;
110 theta2k = std::sqrt(theta2 * std::abs(k - cofMin));
114 G4cout << k <<
" " << theta2k <<
" "
115 << std::sin(tmp) * std::sin(tmp) * std::abs(k - cofMin) / result
119 result = 2 * (cof1 + cof2) * (cof1 + cof2) * sum / energy;
156 G4complex F2 = (1.0 - Ha) * (1.0 - Ha) * Hb / (1.0 - H) / (1.0 - H) *
161 result = 2.0 * std::real(R);
std::complex< G4double > G4complex
G4GLOB_DLL std::ostream G4cout
G4RegularXTRadiator(G4LogicalVolume *anEnvelope, G4Material *, G4Material *, G4double, G4double, G4int, const G4String &processName="XTRegularRadiator")
G4double GetStackFactor(G4double energy, G4double gamma, G4double varAngle) override
G4double SpectralXTRdEdx(G4double energy) override
void ProcessDescription(std::ostream &) const override
G4double GetPlateLinearPhotoAbs(G4double)
G4double GetGasFormationZone(G4double, G4double, G4double)
G4complex OneInterfaceXTRdEdx(G4double energy, G4double gamma, G4double varAngle)
G4double GetPlateFormationZone(G4double, G4double, G4double)
G4double GetGasLinearPhotoAbs(G4double)