WCSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WCSimGenerator_Radioactivity.hh
Go to the documentation of this file.
1 #ifndef WCSimGenerator_Radioactivity_hh
2 #define WCSimGenerator_Radioactivity_hh 1
3 
4 #include "G4ReactionProductVector.hh"
5 #include "G4ThreeVector.hh"
6 #include <vector>
7 
9 #include "TF2.h"
10 #include "TGraph.h"
11 #include "TMath.h"
12 
13 using namespace std;
14 
16 
18 {
19  public:
22  void Initialize();
23 
24  void Configuration(G4int iScenario, G4double dLifeTime=0);
25 
26  G4ThreeVector GetRandomVertex(G4int tSymNumber);
27  G4double GetMeanActivity() { return fIntegral; }
28  G4double GetIDVolume() { return (fR_max*fR_max*TMath::Pi()*fZ_max*2.); }
29 
30 
31  private:
32 
33  static G4double ZFit_R210(G4double x, G4double Lambda, G4double BinConversion);
34  static G4double ZFit_R190(G4double x, G4double Lambda, G4double BinConversion);
35  static G4double ZFit_R170(G4double x, G4double Lambda, G4double BinConversion);
36  static G4double ZFit_R140(G4double x, G4double Lambda, G4double BinConversion);
37  static G4double ZFit_R070(G4double x, G4double Lambda, G4double BinConversion);
38  static G4double ZFit_R040(G4double x, G4double Lambda, G4double BinConversion);
39  static G4double ZFit_R020(G4double x, G4double Lambda, G4double BinConversion);
40  static G4double ZFit_R000(G4double x, G4double Lambda, G4double BinConversion);
41 
42  static G4double R2Fit_ZpM(G4double x, G4double Lambda, G4double BinConversion);
43  static G4double R2Fit_ZmM(G4double x, G4double Lambda, G4double BinConversion);
44  static G4double R2Fit_Z16(G4double x, G4double Lambda, G4double BinConversion);
45  static G4double R2Fit_Z13(G4double x, G4double Lambda, G4double BinConversion);
46  static G4double R2Fit_Z10(G4double x, G4double Lambda, G4double BinConversion);
47  static G4double R2Fit_Z00(G4double x, G4double Lambda, G4double BinConversion);
48  static G4double R2Fit_Z14p(G4double x, G4double Lambda, G4double BinConversion);
49  static G4double R2Fit_Z16p(G4double x, G4double Lambda, G4double BinConversion);
50 
51  // Function
53  G4double fIntegral;
54 
55  void SetScenario(G4int iScenario);
56  static G4double RadonFormula(G4double *val, G4double *par);
57 
59 
60  // Constant
61  G4int fScenario;
62  static G4double fRnDiffusion_Coef;
63  G4double fRnLambda;
64 
65  static G4double fRn_PerPMT;
66 
67  static G4double fRnSK_Center;
68  static G4double fRnSK_Bottom;
69 
70  static G4double fRn_Border;
71 
72  static G4double fHK_Z_max;
73  static G4double fHK_R_max;
74  static G4double fHK_R2_max;
75  static G4double fHK_Z_reco;
76  static G4double fHK_R_reco;
77  static G4double fHK_R2_reco;
78 
79  static G4double fSK_Z_max;
80  static G4double fSK_R_max;
81  static G4double fSK_R2_max;
82  static G4double fSK_Z_reco;
83  static G4double fSK_R_reco;
84  static G4double fSK_R2_reco;
85 
86  static G4double fZ_max , fR_max , fR2_max;
87  static G4double fZ_reco, fR_reco, fR2_reco;
88 
89  G4double fMperBin;
90  G4double fBin_Z_reco;
91  G4double fBin_Z_max;
92  G4double fBin_D_reco;
93  G4double fBin_D_max;
94  G4double fBin_R2_reco;
95  G4double fBin_R2_max;
96 
100 
104 
108 
112 
113  static G4double fChangeZPMax;
114  static G4double fChangeZNMax;
115  static G4double fChangeRMax;
116 
117  static G4double fR2_000, fR2_025, fR2_045, fR2_075,
118  fR2_145, fR2_175, fR2_195, fR2_215;
119  static G4double fR_000 , fR_025 , fR_045 , fR_075 ,
120  fR_145 , fR_175 , fR_195 , fR_215 ;
121 
122  static G4double fZ_p16, fZ_p14, fZ_000, fZ_m10, fZ_m13, fZ_m16;
123 
124  static G4double fChangeR210N13, fChangeR210N10, fChangeR210N5, fChangeR210P1, fChangeR210P8, fChangeR210P13;
125  static G4double fChangeR190N10, fChangeR190N8;
126  static G4double fChangeR170N10, fChangeR170N8;
127  static G4double fChangeR140N10, fChangeR140N8;
128  static G4double fChangeR070N10, fChangeR070N8;
129  static G4double fChangeR040N10;
130  static G4double fChangeR020N10;
131  static G4double fChangeR000N10;
132 
133  static G4double fChangeZmMxR025, fChangeZmMxR175;
134  static G4double fChangeZm16R025, fChangeZm16R125;
135  static G4double fChangeZm13R023, fChangeZm13R080;
136  static G4double fChangeZm10R023;
137  static G4double fChangeZp16R025, fChangeZp16R115;
138 
139  static G4double fChangeZm16Flow, fChangeZm13Flow, fChangeZm10Flow, fChangeZ000Flow, fChangeZp14Flow, fChangeZp16Flow;
140 
141  static G4double fGaussM0, fGaussM1, fGaussM2, fGaussM3, fGaussR190M3, fGaussM4, fGaussM5, fGaussM6, fGaussM7, fGaussM8;
142  static G4double fGaussR190S0, fGaussR190S1, fGaussR190S2, fGaussR190S3, fGaussR190S4, fGaussR190S5, fGaussR190S6, fGaussR190S7, fGaussR190S8;
143  static G4double fGaussR170S0, fGaussR170S1, fGaussR170S2, fGaussR170S3, fGaussR170S4, fGaussR170S5, fGaussR170S6, fGaussR170S7, fGaussR170S8;
144  static G4double fGaussR140S0, fGaussR140S1, fGaussR140S2, fGaussR140S3, fGaussR140S4, fGaussR140S5, fGaussR140S6, fGaussR140S7, fGaussR140S8;
145 
146  static TGraph* tFittingR000;
147  static TGraph* tFittingR025;
148  static TGraph* tFittingR045;
149  static TGraph* tFittingR075;
150  static TGraph* tFittingR145;
151  static TGraph* tFittingR175;
152  static TGraph* tFittingR195;
153  static TGraph* tFittingR215;
154 
155 };
156 #endif
WCSimDetectorConstruction * myDetector