WCSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WCSimPMTObject.hh
Go to the documentation of this file.
1 #ifndef WCSimWCPMTObject_h
2 #define WCSimWCPMTObject_h 1
3 
5 #include "globals.hh"
6 #include "Randomize.hh"
7 #include <map>
8 #include <vector>
9 
10 
12 {
13 
14 public:
15  virtual G4String GetPMTName()=0;
16  virtual G4double GetExposeHeight()=0;
17  virtual G4double GetRadius()=0;
18  virtual G4double* Getqpe()=0;
19  virtual G4double* GetQE()=0;
20  virtual G4double* GetQEWavelength()=0;
21  virtual G4double GetmaxQE()=0;
22  virtual G4double GetCollectionEfficiency(double);
23  virtual double HitTimeSmearing(double)=0;
24  virtual G4double GetPMTGlassThickness()=0;
25  virtual G4double GetDarkRate()=0;
26  virtual G4double GetDarkRateConversionFactor()=0;
27 protected:
28  virtual G4double* GetCollectionEfficiencyArray();
29  virtual G4double* GetCollectionEfficiencyAngle();
30  G4double Interpolate_func(G4double, G4int, G4double*, G4double*);
31 };
32 
33 class PMT20inch : public WCSimPMTObject
34 {
35 
36 public:
37 
38  PMT20inch();
39  ~PMT20inch();
40 
41 public:
42  G4String GetPMTName() ;
43  G4double GetExposeHeight();
44  G4double GetRadius();
45  G4double* Getqpe();
46  G4double* GetQE();
47  G4double* GetQEWavelength();
48  G4double GetmaxQE();
49  double HitTimeSmearing(double);
50  G4double GetPMTGlassThickness();
51  G4double GetDarkRate();
52  G4double GetDarkRateConversionFactor();
53 
54 
55 };
56 
57 class PMT8inch : public WCSimPMTObject
58 {
59 
60 public:
61 
62  PMT8inch();
63  ~PMT8inch();
64 
65 public:
66  G4String GetPMTName();
67  G4double GetExposeHeight();
68  G4double GetRadius();
69  G4double* Getqpe();
70  G4double* GetQE();
71  G4double* GetQEWavelength();
72  G4double GetmaxQE();
73  double HitTimeSmearing(double);
74  G4double GetPMTGlassThickness();
75  G4double GetDarkRate();
76  G4double GetDarkRateConversionFactor();
77 };
78 
79  class PMT10inch : public WCSimPMTObject
80 {
81 
82 public:
83  PMT10inch();
84  ~PMT10inch();
85 
86 public:
87  G4String GetPMTName();
88  G4double GetExposeHeight();
89  G4double GetRadius();
90  G4double* Getqpe();
91  G4double* GetQE();
92  G4double* GetQEWavelength();
93  G4double GetmaxQE();
94  double HitTimeSmearing(double);
95  G4double GetPMTGlassThickness();
96  G4double GetDarkRate();
97  G4double GetDarkRateConversionFactor();
98  };
99 
101 {
102 
103 public:
104  PMT10inchHQE();
105  ~PMT10inchHQE();
106 
107 public:
108  G4String GetPMTName();
109  G4double GetExposeHeight();
110  G4double GetRadius();
111  G4double* Getqpe();
112  G4double* GetQE();
113  G4double* GetQEWavelength();
114  G4double GetmaxQE();
115  double HitTimeSmearing(double);
116  G4double GetPMTGlassThickness();
117  G4double GetDarkRate();
118  G4double GetDarkRateConversionFactor();
119  };
120 
122 {
123 
124 public:
125  PMT12inchHQE();
126  ~PMT12inchHQE();
127 
128 public:
129  G4String GetPMTName();
130  G4double GetExposeHeight();
131  G4double GetRadius();
132  G4double* Getqpe();
133  G4double* GetQE();
134  G4double* GetQEWavelength();
135  G4double GetmaxQE();
136  double HitTimeSmearing(double);
137  G4double GetPMTGlassThickness();
138  G4double GetDarkRate();
139  G4double GetDarkRateConversionFactor();
140  };
141 
143 {
144 
145 public:
146 
147  HPD20inchHQE();
148  ~HPD20inchHQE();
149 
150 public:
151  G4String GetPMTName() ;
152  G4double GetExposeHeight();
153  G4double GetRadius();
154  G4double* Getqpe();
155  G4double* GetQE();
156  G4double* GetQEWavelength();
157  G4double GetmaxQE();
158  double HitTimeSmearing(double);
159  G4double GetPMTGlassThickness();
160  G4double GetDarkRate();
161  G4double GetDarkRateConversionFactor();
162 protected:
163  G4double* GetCollectionEfficiencyArray();
164 };
165 
167 {
168 
169 public:
170 
171  HPD12inchHQE();
172  ~HPD12inchHQE();
173 
174 public:
175  G4String GetPMTName() ;
176  G4double GetExposeHeight();
177  G4double GetRadius();
178  G4double* Getqpe();
179  G4double* GetQE();
180  G4double* GetQEWavelength();
181  G4double GetmaxQE();
182  double HitTimeSmearing(double);
183  G4double GetPMTGlassThickness();
184  G4double GetDarkRate();
185  G4double GetDarkRateConversionFactor();
186 protected:
187  G4double* GetCollectionEfficiencyArray();
188 };
189 
191 {
192 
193 public:
194 
197 
198 public:
199  G4String GetPMTName() ;
200  G4double GetExposeHeight();
201  G4double GetRadius();
202  G4double* Getqpe();
203  G4double* GetQE();
204  G4double* GetQEWavelength();
205  G4double GetmaxQE();
206  double HitTimeSmearing(double);
207  G4double GetPMTGlassThickness();
208  G4double GetDarkRate();
209  G4double GetDarkRateConversionFactor();
210 protected:
211  G4double* GetCollectionEfficiencyArray();
212 };
213 
215 {
216 
217 public:
218 
221 
222 public:
223  G4String GetPMTName() ;
224  G4double GetExposeHeight();
225  G4double GetRadius();
226  G4double* Getqpe();
227  G4double* GetQE();
228  G4double* GetQEWavelength();
229  G4double GetmaxQE();
230  double HitTimeSmearing(double);
231  G4double GetPMTGlassThickness();
232  G4double GetDarkRate();
233  G4double GetDarkRateConversionFactor();
234 protected:
235  G4double* GetCollectionEfficiencyArray();
236 };
237 
238 class PMT5inch : public WCSimPMTObject
239 {
240 
241  public:
242 
243  PMT5inch();
244  ~PMT5inch();
245 
246  public:
247  G4String GetPMTName();
248  G4double GetExposeHeight();
249  G4double GetRadius();
250  G4double* Getqpe();
251  G4double* GetQE();
252  G4double* GetQEWavelength();
253  G4double GetmaxQE();
254  double HitTimeSmearing(double);
255  G4double GetPMTGlassThickness();
256  G4double GetDarkRate();
257  G4double GetDarkRateConversionFactor();
258 };
259 
260 class PMT3inch : public WCSimPMTObject
261 {
262 
263  public:
264 
265  PMT3inch();
266  ~PMT3inch();
267 
268  public:
269  G4String GetPMTName();
270  G4double GetExposeHeight();
271  G4double GetRadius();
272  G4double* Getqpe();
273  G4double* GetQE();
274  G4double* GetQEWavelength();
275  G4double GetmaxQE();
276  double HitTimeSmearing(double);
277  G4double GetPMTGlassThickness();
278  G4double GetDarkRate();
279  G4double GetDarkRateConversionFactor();
280 };
281 
282 #endif
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double GetRadius()
double HitTimeSmearing(double)
G4double * GetQEWavelength()
virtual G4double GetCollectionEfficiency(double)
G4double * GetQEWavelength()
G4String GetPMTName()
virtual G4double * GetQE()=0
double HitTimeSmearing(double)
G4double * GetQE()
G4double GetExposeHeight()
G4double * Getqpe()
G4double * GetQEWavelength()
G4double GetDarkRate()
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double * Getqpe()
G4double * GetQEWavelength()
G4double * GetQEWavelength()
G4double GetmaxQE()
G4double * GetQEWavelength()
G4String GetPMTName()
G4double GetmaxQE()
G4double GetPMTGlassThickness()
G4double GetPMTGlassThickness()
G4double GetPMTGlassThickness()
G4double GetPMTGlassThickness()
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double GetPMTGlassThickness()
double HitTimeSmearing(double)
virtual G4double * GetQEWavelength()=0
G4double * Getqpe()
G4double * Getqpe()
G4double GetPMTGlassThickness()
double HitTimeSmearing(double)
G4double GetmaxQE()
G4double GetDarkRate()
G4double GetDarkRate()
G4double GetDarkRate()
virtual G4double * Getqpe()=0
G4double GetRadius()
G4String GetPMTName()
G4double * Getqpe()
G4String GetPMTName()
G4double GetPMTGlassThickness()
G4double * GetQE()
G4double Interpolate_func(G4double, G4int, G4double *, G4double *)
double HitTimeSmearing(double)
G4double GetmaxQE()
G4double GetExposeHeight()
G4double GetDarkRateConversionFactor()
double HitTimeSmearing(double)
G4double GetmaxQE()
G4double * GetQE()
G4double GetDarkRateConversionFactor()
G4double * GetCollectionEfficiencyArray()
G4double * GetCollectionEfficiencyArray()
G4double * Getqpe()
G4double GetDarkRateConversionFactor()
virtual G4double GetmaxQE()=0
G4double GetRadius()
G4double * GetQEWavelength()
G4double GetDarkRateConversionFactor()
G4double * Getqpe()
G4double GetRadius()
G4double GetmaxQE()
G4String GetPMTName()
G4double GetDarkRate()
G4double GetExposeHeight()
double HitTimeSmearing(double)
G4double GetDarkRate()
G4double * GetQEWavelength()
G4double GetRadius()
virtual double HitTimeSmearing(double)=0
G4double * GetCollectionEfficiencyArray()
G4double GetExposeHeight()
G4double GetRadius()
double HitTimeSmearing(double)
G4double GetExposeHeight()
G4String GetPMTName()
G4double * GetQEWavelength()
G4double * GetQEWavelength()
G4double GetDarkRate()
G4double * GetQEWavelength()
G4double * Getqpe()
G4double * GetQE()
virtual G4double GetDarkRateConversionFactor()=0
G4double GetRadius()
G4double GetRadius()
G4double GetDarkRateConversionFactor()
G4double GetDarkRate()
G4double GetDarkRateConversionFactor()
G4double * GetQE()
virtual G4double GetExposeHeight()=0
virtual G4double * GetCollectionEfficiencyArray()
G4double GetPMTGlassThickness()
G4double GetDarkRate()
G4String GetPMTName()
G4String GetPMTName()
G4String GetPMTName()
G4double * GetQE()
G4double GetmaxQE()
G4double * GetCollectionEfficiencyArray()
G4double GetmaxQE()
double HitTimeSmearing(double)
G4double * GetQE()
virtual G4double GetRadius()=0
G4double GetPMTGlassThickness()
double HitTimeSmearing(double)
virtual G4String GetPMTName()=0
virtual G4double GetPMTGlassThickness()=0
virtual G4double GetDarkRate()=0
G4double * Getqpe()
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double GetmaxQE()
G4double GetPMTGlassThickness()
virtual G4double * GetCollectionEfficiencyAngle()
G4double * GetQE()
G4double * GetQE()
G4double GetRadius()
G4double GetPMTGlassThickness()
G4double GetDarkRateConversionFactor()
double HitTimeSmearing(double)