47 G4cout<<
" XTR Regular discrete radiator model is called"<<
G4endl ;
70 G4double result, sum = 0., tmp, cof1, cof2, cofMin, cofPHC, theta2, theta2k;
76 sigma = 0.5*(aMa + bMb);
95 if (cofMin > kMin) kMin++;
114 for( k = kMin; k <= kMax; k++ )
117 result = (k - cof1)*(k - cof1)*(k + cof2)*(k + cof2);
119 if( k == kMin && kMin ==
G4int(cofMin) )
121 sum += 0.5*std::sin(tmp)*std::sin(tmp)*std::abs(k-cofMin)/result;
125 sum += std::sin(tmp)*std::sin(tmp)*std::abs(k-cofMin)/result;
127 theta2k = std::sqrt(theta2*std::abs(k-cofMin));
133 G4cout<<k<<
" "<<theta2k<<
" "<<std::sin(tmp)*std::sin(tmp)*std::abs(k-cofMin)/result
137 result = 2*( cof1 + cof2 )*( cof1 + cof2 )*sum/energy;
171 G4double result, Qa, Qb, Q, aZa, bZb, aMa, bMb, I2 ;
179 Qa = std::exp(-aMa) ;
180 Qb = std::exp(-bMb) ;
186 G4complex Ha( std::exp(-0.5*aMa)*std::cos(aZa),
187 -std::exp(-0.5*aMa)*std::sin(aZa) ) ;
189 G4complex Hb( std::exp(-0.5*bMb)*std::cos(bZb),
190 -std::exp(-0.5*bMb)*std::sin(bZb) ) ;
198 G4complex F2 = (1.0-Ha)*(Qa-Ha)*Hb*(1.0-Hs)*(Q-Hs) ;
204 result *= (1 - Qa)*(1 + Qa - 2*std::sqrt(Qa)*std::cos(aZa)) ;
206 result /= (1 - std::sqrt(Q))*(1 - std::sqrt(Q)) +
207 4*std::sqrt(Q)*std::sin(0.5*(aZa+bZb))*std::sin(0.5*(aZa+bZb)) ;
211 I2 /= (1 - std::sqrt(Q))*(1 - std::sqrt(Q)) +
212 4*std::sqrt(Q)*std::sin(0.5*(aZa+bZb))*std::sin(0.5*(aZa+bZb)) ;
214 I2 /= Q*( (std::sqrt(Q)-std::cos(aZa+bZb))*(std::sqrt(Q)-std::cos(aZa+bZb)) +
215 std::sin(aZa+bZb)*std::sin(aZa+bZb) ) ;
222 result = std::real(stack);
std::complex< G4double > G4complex
G4DLLIMPORT std::ostream G4cout
G4double GetPlateLinearPhotoAbs(G4double)
G4double GetGasFormationZone(G4double, G4double, G4double)
G4complex OneInterfaceXTRdEdx(G4double energy, G4double gamma, G4double varAngle)
G4double GetPlateFormationZone(G4double, G4double, G4double)
G4double GetGasLinearPhotoAbs(G4double)
G4double GetStackFactor(G4double energy, G4double gamma, G4double varAngle)
G4XTRRegularRadModel(G4LogicalVolume *anEnvelope, G4Material *, G4Material *, G4double, G4double, G4int, const G4String &processName="XTRegularModel")
virtual ~G4XTRRegularRadModel()
G4double SpectralXTRdEdx(G4double energy)