52 histName(
"histfile"),nbinStep(0),nbinEn(0),nbinTt(0),nbinTb(0),
53 nbinTsec(0),nbinTh(0),nbinThback(0),nbinR(0),nbinGamma(0),
93 CLHEP::HepRandom::showEngineStatus();
94 CLHEP::HepRandom::saveEngineStatus(
"beginOfRun.rndm");
100 if(pVVisManager) UI->
ApplyCommand(
"/vis/scene/notifyHandlers");
130 for(
G4int ist=0; ist<200; ist++)
162 for (
G4int itt=0; itt<200; itt++)
175 for (
G4int its=0; its<200; its++)
186 for (
G4int ith=0; ith<200; ith++)
198 for (
G4int ithback=0; ithback<200; ithback++)
211 for (
G4int ir =0; ir<200; ir++)
225 for (
G4int ig=0; ig<200; ig++)
249 G4double sAbs,sigAbs,sigstep,sigcharged,signeutral;
301 G4cout <<
" ================== run summary =====================" <<
G4endl;
303 G4cout <<
" end of Run TotNbofEvents = " <<
305 G4cout <<
" mean charged track length in absorber=" <<
306 tlSumAbs/
mm <<
" +- " << sAbs/
mm <<
309 G4cout <<
" mean energy deposit in absorber=" <<
310 EnergySumAbs/
MeV <<
" +- " << sigAbs/
MeV <<
313 G4cout <<
" mean number of steps in absorber (charged) =" <<
314 nStepSumCharged <<
" +- " << sigch <<
316 G4cout <<
" mean number of steps in absorber (neutral) =" <<
317 nStepSumNeutral <<
" +- " << signe <<
320 G4cout <<
" mean number of charged secondaries = " <<
321 SumCharged <<
" +- " << sigcharged <<
G4endl;
323 G4cout <<
" mean number of neutral secondaries = " <<
324 SumNeutral <<
" +- " << signeutral <<
G4endl;
337 G4cout <<
" step number/event distribution " <<
G4endl ;
344 G4cout <<
" bin nb nsteplow entries normalized " <<
G4endl ;
349 G4cout << std::setw(5) << iss << std::setw(10) << E <<
351 std::setw(12) << dnorm <<
G4endl ;
358 std::ofstream fileOut(
"distribution.out", std::ios::out ) ;
359 fileOut.setf( std::ios::scientific, std::ios::floatfield );
361 std::ofstream normOut(
"normDist.out", std::ios::out ) ;
362 normOut.setf( std::ios::scientific, std::ios::floatfield );
373 G4cout <<
" bin nb Elow entries normalized " <<
G4endl ;
387 G4cout << std::setw(5) << ien << std::setw(10) << E/
keV <<
388 std::setw(12) <<
distEn[ien] <<
389 std::setw(12) << dnorm <<
G4endl ;
392 normOut << E/
keV <<
"\t"<< dnorm <<
G4endl ;
407 if(
distEn[i1] >= 0.5*fmax)
420 if(
distEn[i2] >= 0.5*fmax) E2=E ;
422 G4cout <<
" Emp = " << std::setw(15) << Emp/
MeV <<
" width="
423 << std::setw(15) << (E2-E1)/
MeV <<
" MeV " << G4endl;
430 G4cout <<
" transmitted energy distribution " <<
G4endl ;
441 G4cout <<
" mean energy of transmitted particles=" << Ttmean/
keV <<
445 G4cout <<
" bin nb Elow entries normalized " <<
G4endl ;
450 G4cout << std::setw(5) << itt << std::setw(10) << E <<
451 std::setw(12) <<
distTt[itt] <<
452 std::setw(12) << dnorm <<
G4endl ;
460 G4cout <<
" backscattered energy distribution " <<
G4endl ;
471 G4cout <<
" mean energy of backscattered particles=" << Tbmean/
keV <<
475 G4cout <<
" bin nb Elow entries normalized " <<
G4endl ;
480 G4cout << std::setw(5) << itt << std::setw(10) << E <<
481 std::setw(12) <<
distTb[itt] <<
482 std::setw(12) << dnorm <<
G4endl ;
489 G4cout <<
" energy distribution of charged secondaries " <<
G4endl ;
496 G4cout <<
" bin nb Elow entries normalized " <<
G4endl ;
501 G4cout << std::setw(5) << itt << std::setw(10) << E <<
503 std::setw(12) << dnorm <<
G4endl ;
519 else sig = std::sqrt(sig/
entryR) ;
520 G4cout <<
" mean lateral displacement at exit=" << Rmean/
mm <<
" +- "
524 G4cout <<
" bin nb Rlow entries normalized " <<
G4endl ;
528 dnorm =
distR[ier]/norm;
529 G4cout << std::setw(5) << ier << std::setw(10) << R <<
530 std::setw(12) <<
distR[ier] <<
531 std::setw(12) << dnorm <<
G4endl ;
538 {
G4double Th,Thdeg, dnorm, norm,fac0,fnorm,pere,Thpere,Thmean,sum;
550 pere = 1./std::exp(1.) ;
552 G4cout <<
" bin nb Thlowdeg Thlowrad " <<
553 " entries normalized " <<
G4endl ;
564 fnorm = fac0*
distTh[ien] ;
567 G4cout << std::setw(5) << ien << std::setw(10) << Thdeg <<
" " <<
568 std::setw(10) << Th <<
" " <<
569 std::setw(12) << distTh[ien] <<
" " <<
570 std::setw(12) << dnorm <<
" " << std::setw(12) << fnorm <<
G4endl ;
574 G4cout <<
" mean = " << Thmean <<
" rad or " << 180.*Thmean/
pi <<
576 G4cout <<
" theta(1/e)=" << Thpere <<
" - " << Thpere+dTh <<
" rad "
577 <<
" or " << 180.*Thpere/
pi <<
" - " << 180.*(Thpere+
dTh)/
pi
578 <<
" deg." << G4endl;
584 {
G4double Thb,Thdegb, dnormb, normb,fac0b,fnormb,pereb,Thpereb,Thmeanb,sumb;
585 G4cout <<
" backscattering angle distribution " <<
G4endl ;
596 pereb = 1./std::exp(1.) ;
598 G4cout <<
" bin nb Thlowdeg Thlowrad " <<
599 " entries normalized " <<
G4endl ;
606 Thdegb = Thb*180./
pi ;
613 G4cout << std::setw(5) << ien << std::setw(10) << Thdegb <<
" " <<
614 std::setw(10) << Thb <<
" " <<
615 std::setw(12) << distThback[ien] <<
" " <<
616 std::setw(12) << dnormb <<
" " << std::setw(12) << fnormb <<
G4endl ;
620 G4cout <<
" mean = " << Thmeanb <<
" rad or " << 180.*Thmeanb/
pi <<
622 G4cout <<
" theta(1/e)=" << Thpereb <<
" - " << Thpereb+dThback <<
" rad "
623 <<
" or " << 180.*Thpereb/
pi <<
" - " << 180.*(Thpereb+
dThback)/
pi
624 <<
" deg." << G4endl;
639 G4cout <<
" bin nb Elow entries normalized " <<
G4endl ;
644 G4cout << std::setw(5) << itt << std::setw(13) << E <<
646 std::setw(15) << dnorm <<
G4endl ;
661 G4cout <<
" bin nb zlow entries normalized " <<
G4endl ;
665 if(std::fabs(z)<1.e-12) z=0.;
667 G4cout << std::setw(5) << iez << std::setw(10) << z <<
669 std::setw(12) << dnorm <<
G4endl ;
686 CLHEP::HepRandom::showEngineStatus();
687 CLHEP::HepRandom::saveEngineStatus(
"endOfRun.rndm");
760 if(ibin < 0) { ibin = 0; }
761 if(ibin > 199) { ibin = 199; }
825 if(nbin> 0 && nbin<= 200) {
850 if(nbin > 0 && nbin <= 200) {
876 if(nbin > 0 && nbin <= 200) {
900 if(nbin > 0 && nbin <= 200) {
924 if(nbin > 0 && nbin <= 200) {
945 if(nbin > 0 && nbin <= 200) {
965 if(nbin > 0 && nbin <= 200) {
985 if(nbin > 0 && nbin <= 200) {
1005 if(nbin > 0 && nbin <= 200) {
1025 if(nbin > 0 && nbin <= 200) {
void Fillvertexz(G4double z)
void SetThhigh(G4double Thhigh)
G4double distvertexz[200]
void SetEnhigh(G4double Enhigh)
void SethistName(G4String name)
void SetnbinR(G4int nbin)
void SetTblow(G4double Tblow)
Definition of the Em10RunAction class.
void SetnbinTh(G4int nbin)
void SetEhighGamma(G4double Ehigh)
static G4VVisManager * GetConcreteInstance()
void SetnbinGamma(G4int nbin)
void SetnbinTt(G4int nbin)
void FillNbOfSteps(G4double nstep)
void FillThBack(G4double Th)
void CountParticles(G4double, G4double)
void SetTtlow(G4double Ttlow)
static G4UImanager * GetUIpointer()
void Setzhigh(G4double z)
G4GLOB_DLL std::ostream G4cout
void SetRlow(G4double Rlow)
void SetnbinTsec(G4int nbin)
G4double nStepSum2Neutral
Definition of the Em10RunMessenger class.
void SetTbhigh(G4double Tbhigh)
void SetnbinEn(G4int nbin)
G4double nStepSum2Charged
void BeginOfRunAction(const G4Run *)
void SetnbinTb(G4int nbin)
void EndOfRunAction(const G4Run *)
void SetSteplow(G4double Slow)
void SetnbinStep(G4int nbin)
void AddEdeps(G4double Eabs)
void SetnbinThBack(G4int nbin)
void SetEnlow(G4double Elow)
void SetTthigh(G4double Tthigh)
void SetTseclow(G4double Tlow)
Em10RunMessenger * runMessenger
void SetTsechigh(G4double Thigh)
void AddTrRef(G4double tr, G4double ref)
void FillTsec(G4double T)
void FillGammaSpectrum(G4double E)
void SetStephigh(G4double Shigh)
void AddnStepsNeutral(G4double ns)
void Setnbinzvertex(G4int nbin)
void SetElowGamma(G4double Elow)
void SetThlowBack(G4double Thlow)
void AddnStepsCharged(G4double ns)
void AddTrackLength(G4double tlabs)
void AddEP(G4double, G4double)
G4double EnergySquareSumAbs
void SetRhigh(G4double Rhigh)
G4int ApplyCommand(const char *aCommand)
void SetThhighBack(G4double Thhigh)
void SetThlow(G4double Thlow)