3 #include "G4PhysicsOrderedFreeVector.hh"
18 G4cout <<
"**** Calling QweakSimUserInformation::Print() ****" << G4endl;
30 G4cout <<
"**** Exiting QweakSimUserInformation::Print() ****" << G4endl;
37 G4cout <<
"**** Calling QweakSimUserInformation::PrintEloss() ****" << G4endl;
42 G4cout <<
"**** Leaving QweakSimUserInformation::PrintEloss() ****" << G4endl;
178 G4ThreeVector tmp(1000,1000,1000);
251 G4double D753WKBS20_QE[65][2] = {
252 {200.0*nanometer, 100},
253 {210.0*nanometer, 100},
254 {220.0*nanometer, 100},
255 {230.0*nanometer, 100},
256 {240.0*nanometer, 100},
257 {250.0*nanometer, 100},
258 {260.0*nanometer, 100},
259 {270.0*nanometer, 100},
260 {280.0*nanometer, 100},
261 {290.0*nanometer, 100},
262 {300.0*nanometer, 100},
263 {310.0*nanometer, 100},
264 {320.0*nanometer, 100},
265 {330.0*nanometer, 100},
266 {340.0*nanometer, 100},
267 {350.0*nanometer, 100},
268 {360.0*nanometer, 100},
269 {370.0*nanometer, 100},
270 {380.0*nanometer, 100},
271 {390.0*nanometer, 100},
272 {400.0*nanometer, 100},
273 {410.0*nanometer, 100},
274 {420.0*nanometer, 100},
275 {430.0*nanometer, 100},
276 {440.0*nanometer, 100},
277 {450.0*nanometer, 100},
278 {460.0*nanometer, 100},
279 {470.0*nanometer, 100},
280 {480.0*nanometer, 100},
281 {490.0*nanometer, 100},
282 {500.0*nanometer, 100},
283 {510.0*nanometer, 100},
284 {520.0*nanometer, 100},
285 {530.0*nanometer, 100},
286 {540.0*nanometer, 100},
287 {550.0*nanometer, 100},
288 {560.0*nanometer, 100},
289 {570.0*nanometer, 100},
290 {580.0*nanometer, 100},
291 {590.0*nanometer, 100},
292 {600.0*nanometer, 100},
293 {610.0*nanometer, 100},
294 {620.0*nanometer, 100},
295 {630.0*nanometer, 100},
296 {640.0*nanometer, 100},
297 {650.0*nanometer, 100},
298 {660.0*nanometer, 100},
299 {670.0*nanometer, 100},
300 {680.0*nanometer, 100},
301 {690.0*nanometer, 100},
302 {700.0*nanometer, 100},
303 {710.0*nanometer, 100},
304 {720.0*nanometer, 100},
305 {730.0*nanometer, 100},
306 {740.0*nanometer, 100},
307 {750.0*nanometer, 100},
308 {760.0*nanometer, 100},
309 {770.0*nanometer, 100},
310 {780.0*nanometer, 100},
311 {790.0*nanometer, 100},
312 {800.0*nanometer, 100},
313 {810.0*nanometer, 100},
314 {820.0*nanometer, 100},
315 {830.0*nanometer, 100},
316 {840.0*nanometer, 100}
320 G4double XP4572_QE[15][2] = {
321 {200.0*nanometer , 0.0} ,
322 {250.0*nanometer , 0.0} ,
323 {280.0*nanometer , 0.1} ,
324 {290.0*nanometer , 0.3} ,
325 {300.0*nanometer , 3.0} ,
326 {315.0*nanometer , 10.0} ,
327 {330.0*nanometer , 20.0} ,
328 {350.0*nanometer , 27.5} ,
329 {400.0*nanometer , 26.0} ,
330 {480.0*nanometer , 20.0} ,
331 {540.0*nanometer , 10.0} ,
332 {590.0*nanometer , 3.0} ,
333 {615.0*nanometer , 1.0} ,
334 {640.0*nanometer , 0.3} ,
335 {660.0*nanometer , 0.1}
342 for (G4int kk=0; kk<65 ; kk++)
345 E_value= 2*pi*hbarc/( XP4572_QE[kk][0] *nanometer);
346 G4cout <<
"E_value " << kk <<
" = " << E_value <<
" QE = " << XP4572_QE[kk][1] << G4endl;
347 PMTQE_XP4572->InsertValues(E_value, XP4572_QE[kk][1]/100.);
350 E_value= 2*pi*hbarc/( D753WKBS20_QE[kk][0] *nanometer);
390 G4ThreeVector *tmp1 = NULL;
391 G4ThreeVector *tmp2 = NULL;
392 G4double *tmp3 = NULL;
393 G4double *tmp4 = NULL;
396 tmp1 =
new G4ThreeVector[cnt];
397 tmp2 =
new G4ThreeVector[cnt];
398 tmp3 =
new G4double[cnt];
399 tmp4 =
new G4double[cnt];
402 for(G4int i = 0; i < cnt; i++){
419 for(G4int i = 0; i < cnt; i++) {
447 G4ThreeVector tmp(1000,1000,1000);
456 G4ThreeVector tmp(1000,1000,1000);
G4double CrossSectionBornInelastic
G4double GetNumberOfPhotoelectrons(G4double eng)
G4double TargetCenterPositionZ
G4double OriginVertexKinematicW
void ResetCerenkovSecondaryParticleInfo()
G4double CrossSectionRadDISIntOnly
G4double CrossSectionBornQE
G4double TargetDSDummyPositionOffsetZ
G4double CrossSectionBornTotal
G4double EffectiveKinematicQ2
G4double OriginVertexMomentumDirectionX
G4double OriginVertexTotalEnergy
G4ThreeVector cerenkovEventExitPos
G4double CrossSectionWeight
G4ThreeVector * cerenkovSecondaryPartOrig
G4double OriginVertexMomentumDirectionY
G4PhysicsOrderedFreeVector * PMTQE_XP4572
G4double OriginVertexKinematicQ2
void StoreStepVolumeName(G4String name)
G4double EffectiveKinematicX
G4double OriginVertexKinematicX
G4double OriginVertexKinematicNu
G4ThreeVector * cerenkovSecondaryPartMom
G4PhysicsOrderedFreeVector * PMTQED753WKBS20
G4int cerenkovSecondaryPhotonCount
G4ThreeVector GetCerenkovSecondaryParticleMomentum(G4int indx)
G4double OriginVertexPositionY
G4double TargetUSDummyPositionOffsetZ
G4int cerenkovSecondaryPositronCount
G4double CrossSectionRadQEIntOnly
~QweakSimUserInformation()
G4double GetCerenkovSecondaryParticleCharge(G4int indx)
std::vector< G4double > CerenkovPhotonEnergy
void StoreCerenkovSecondaryParticleInfo(G4ThreeVector ep, G4ThreeVector ee, G4double eng, G4double charge)
G4int cerenkovOpticalPhotonCount
G4double OriginVertexPositionX
G4double GetNumberOfPhotoelectronsS20(G4double eng)
G4double * cerenkovSecondaryPartCharge
G4double CrossSectionRadElasticPeak
G4double GetCerenkovSecondaryParticleEnergy(G4int indx)
G4double CrossSectionRadQE
G4double CrossSectionRadTotal
G4ThreeVector GetCerenkovSecondaryParticleOrigin(G4int indx)
G4int cerenkovSecondaryElectronCount
G4double CrossSectionRadDIS
QweakSimUserInformation()
G4double OriginVertexMomentumDirectionZ
G4int cerenkovSecondaryParticleCount
G4double * cerenkovSecondaryPartEng
G4double EffectiveKinematicW
G4double OriginVertexKineticEnergy
G4double EffectiveKinematicNu
G4double OriginVertexPositionZ
G4double CrossSectionRadElastic
void SetEdgeEventDetected(G4int det)
G4double OriginVertexPhiAngle
G4double CrossSectionRadTotalIntOnly
G4double CrossSectionRadElasticIntOnly
G4double OriginVertexThetaAngle