53 G4cout<<
"Regular transparent X-ray TR radiator EM process is called"<<
G4endl;
77 G4double result, sum = 0., tmp, cof1, cof2, cofMin, cofPHC,aMa, bMb, sigma;
107 kMin =
G4int(cofMin);
108 if (cofMin > kMin) kMin++;
123 for( k = kMin; k <=
kMax; k++ )
126 result = (k - cof1)*(k - cof1)*(k + cof2)*(k + cof2);
128 if( k == kMin && kMin ==
G4int(cofMin) )
130 sum += 0.5*sin(tmp)*sin(tmp)*std::abs(k-cofMin)/
result;
134 sum += sin(tmp)*sin(tmp)*std::abs(k-cofMin)/
result;
138 result = 4.*( cof1 + cof2 )*( cof1 + cof2 )*sum/
energy;
139 result *= ( 1. - exp(-
fPlateNumber*sigma) )/( 1. - exp(-sigma) );
194 G4complex Ha( Qa*cos(aZa), -Qa*sin(aZa) );
195 G4complex Hb( Qb*cos(bZb), -Qb*sin(bZb) );
198 D = 1.0 /( (1 -
Q)*(1 - Q) +
199 4*Q*sin(0.5*(aZa + bZb))*sin(0.5*(aZa + bZb)) );
200 G4complex F1 = (1.0 - Ha)*(1.0 - Hb)*(1.0 - Hs)
202 G4complex F2 = (1.0 - Ha)*(1.0 - Ha)*Hb*(1.0 - Hs)*(1.0 - Hs)
206 result = 2.0*real(R);
G4double G4ParticleHPJENDLHEData::G4double result
G4double GetGasFormationZone(G4double, G4double, G4double)
~XTRTransparentRegRadModel()
G4double GetPlateLinearPhotoAbs(G4double)
std::vector< ExP01TrackerHit * > a
G4double GetPlateCompton(G4double)
G4double SpectralXTRdEdx(G4double energy)
G4double GetGasLinearPhotoAbs(G4double)
Definition of the XTRTransparentRegRadModel class.
G4double GetPlateFormationZone(G4double, G4double, G4double)
std::complex< G4double > G4complex
G4GLOB_DLL std::ostream G4cout
G4double energy(const ThreeVector &p, const G4double m)
XTRTransparentRegRadModel(G4LogicalVolume *anEnvelope, G4Material *, G4Material *, G4double, G4double, G4int, const G4String &processName="XTRTransparentRegRadModel")
G4complex OneInterfaceXTRdEdx(G4double energy, G4double gamma, G4double varAngle)
G4double GetGasCompton(G4double)
static constexpr double pi
G4double GetStackFactor(G4double energy, G4double gamma, G4double varAngle)