Geant4_10
Em10RunAction.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
28 //
29 //
30 // $Id: Em10RunAction.hh 66241 2012-12-13 18:34:42Z gunter $
31 //
32 //
33 
34 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
35 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
36 
37 #ifndef Em10RunAction_h
38 #define Em10RunAction_h 1
39 
40 #include "G4UserRunAction.hh"
41 #include "globals.hh"
42 #include <iostream>
43 
44 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
45 
46 class Em10RunMessenger;
47 class G4Run;
48 
49 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
50 
52 {
53  public:
54  Em10RunAction();
56 
57  public:
58  void BeginOfRunAction(const G4Run*);
59  void EndOfRunAction(const G4Run*);
60 
61  void CountEvent();
63  void AddEP(G4double,G4double);
64  void AddEdeps(G4double Eabs);
65  void AddTrackLength(G4double tlabs);
67  void AddnStepsNeutral(G4double ns);
68 
69  void AddTrRef(G4double tr,G4double ref);
70 
71  void FillEn(G4double En);
72  void FillTh(G4double Th);
73  void FillThBack(G4double Th);
74  void FillR(G4double R);
75  void FillTt(G4double Tt);
76  void FillTb(G4double Tt);
77  void FillTsec(G4double T);
79  void FillNbOfSteps(G4double nstep);
80  void Fillvertexz(G4double z);
81 
82  void SethistName(G4String name) ;
83 
84  void SetnbinStep(G4int nbin);
85  void SetSteplow(G4double Slow);
86  void SetStephigh(G4double Shigh);
87 
88  void SetnbinEn(G4int nbin);
89  void SetEnlow(G4double Elow);
90  void SetEnhigh(G4double Enhigh);
91 
92  void SetnbinTt(G4int nbin);
93  void SetTtlow(G4double Ttlow);
94  void SetTthigh(G4double Tthigh);
95 
96  void SetnbinTb(G4int nbin);
97  void SetTblow(G4double Tblow);
98  void SetTbhigh(G4double Tbhigh);
99 
100  void SetnbinTsec(G4int nbin);
101  void SetTseclow(G4double Tlow);
102  void SetTsechigh(G4double Thigh);
103 
104  void SetnbinTh(G4int nbin);
105  void SetThlow(G4double Thlow);
106  void SetThhigh(G4double Thhigh);
107 
108  void SetnbinThBack(G4int nbin);
109  void SetThlowBack(G4double Thlow);
110  void SetThhighBack(G4double Thhigh);
111 
112  void SetnbinR(G4int nbin);
113  void SetRlow(G4double Rlow);
114  void SetRhigh(G4double Rhigh);
115 
116  void SetnbinGamma(G4int nbin);
117  void SetElowGamma(G4double Elow);
118  void SetEhighGamma(G4double Ehigh);
119 
120  void Setnbinzvertex(G4int nbin);
121  void Setzlow(G4double z);
122  void Setzhigh(G4double z);
123 
124  void SetRndmFreq(G4int val) {saveRndm = val;}
125  G4int GetRndmFreq() {return saveRndm;}
126 
127  private:
128 
129  void bookHisto();
130 
131  private:
132 
133  G4String histName ;
134 
135  G4double EnergySumAbs,EnergySquareSumAbs;
136  G4double tlSumAbs,tlsquareSumAbs;
137  G4double nStepSumCharged,nStepSum2Charged ;
138  G4double nStepSumNeutral,nStepSum2Neutral ;
139  G4double TotNbofEvents;
140  G4double SumCharged,Sum2Charged,SumNeutral,Sum2Neutral;
141  G4double Selectron,Spositron;
142 
143  G4double Transmitted,Reflected ;
144 
145  G4double entryStep,underStep,overStep,distStep[200];
146  G4double Steplow,Stephigh,dStep;
147  G4int nbinStep;
148  G4double entryEn,underEn,overEn,distEn[200];
149  G4double Enlow,Enhigh,dEn;
150  G4int nbinEn;
151  G4double entryTt,underTt,overTt,distTt[200];
152  G4double Ttlow,Tthigh,dTt;
153  G4int nbinTt;
154  G4double Ttmean,Tt2mean;
155  G4double entryTb,underTb,overTb,distTb[200];
156  G4double Tblow,Tbhigh,dTb;
157  G4int nbinTb;
158  G4double Tbmean,Tb2mean;
159  G4double entryTsec,underTsec,overTsec,distTsec[200];
160  G4double Tseclow,Tsechigh,dTsec;
161  G4int nbinTsec;
162  G4double entryTh,underTh,overTh,distTh[200];
163  G4double Thlow,Thhigh,dTh;
164  G4int nbinTh;
165  G4double entryThback,underThback,overThback,distThback[200];
166  G4double Thlowback,Thhighback,dThback;
167  G4int nbinThback;
168  G4double entryR ,underR ,overR ,distR[200];
169  G4double Rlow,Rhigh,dR;
170  G4int nbinR;
171  G4double Rmean,R2mean;
172  G4double entryGamma,underGamma,overGamma,distGamma[200];
173  G4double ElowGamma,EhighGamma,dEGamma;
174  G4int nbinGamma ;
175  G4double entryvertexz,undervertexz,oververtexz,distvertexz[200];
176  G4double zlow,zhigh,dz;
177  G4int nbinvertexz;
178 
179  Em10RunMessenger* runMessenger;
180  G4int saveRndm;
181 };
182 
183 #endif
184 
void Fillvertexz(G4double z)
void SetThhigh(G4double Thhigh)
void SetEnhigh(G4double Enhigh)
void SetRndmFreq(G4int val)
void SethistName(G4String name)
void SetnbinR(G4int nbin)
void SetTblow(G4double Tblow)
void SetnbinTh(G4int nbin)
void SetEhighGamma(G4double Ehigh)
void SetnbinGamma(G4int nbin)
void Setzlow(G4double z)
void FillTh(G4double Th)
const XML_Char * name
Definition: expat.h:151
void SetnbinTt(G4int nbin)
void FillNbOfSteps(G4double nstep)
void FillThBack(G4double Th)
G4int GetRndmFreq()
int G4int
Definition: G4Types.hh:78
void CountParticles(G4double, G4double)
void SetTtlow(G4double Ttlow)
void FillEn(G4double En)
void FillR(G4double R)
void Setzhigh(G4double z)
void SetRlow(G4double Rlow)
void SetnbinTsec(G4int nbin)
void SetTbhigh(G4double Tbhigh)
void SetnbinEn(G4int nbin)
void BeginOfRunAction(const G4Run *)
void SetnbinTb(G4int nbin)
void EndOfRunAction(const G4Run *)
void SetSteplow(G4double Slow)
void SetnbinStep(G4int nbin)
Definition: G4Run.hh:46
void AddEdeps(G4double Eabs)
void FillTt(G4double Tt)
void SetnbinThBack(G4int nbin)
void SetEnlow(G4double Elow)
void SetTthigh(G4double Tthigh)
void SetTseclow(G4double Tlow)
void SetTsechigh(G4double Thigh)
void AddTrRef(G4double tr, G4double ref)
tuple z
Definition: test.py:28
void FillTsec(G4double T)
void FillGammaSpectrum(G4double E)
void SetStephigh(G4double Shigh)
void AddnStepsNeutral(G4double ns)
void Setnbinzvertex(G4int nbin)
double G4double
Definition: G4Types.hh:76
void SetElowGamma(G4double Elow)
void SetThlowBack(G4double Thlow)
void AddnStepsCharged(G4double ns)
void AddTrackLength(G4double tlabs)
void AddEP(G4double, G4double)
#define ns
Definition: xmlparse.cc:597
void FillTb(G4double Tt)
void SetRhigh(G4double Rhigh)
void SetThhighBack(G4double Thhigh)
void SetThlow(G4double Thlow)