WCSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WCSimPMTObject.cc
Go to the documentation of this file.
1 #include "WCSimWCPMT.hh"
2 #include "WCSimPMTObject.hh"
3 #include "WCSimWCDigi.hh"
4 #include "WCSimWCHit.hh"
5 
6 #include "G4EventManager.hh"
7 #include "G4Event.hh"
8 #include "G4SDManager.hh"
9 #include "G4DigiManager.hh"
10 #include "G4ios.hh"
11 #include "G4RotationMatrix.hh"
12 #include "G4ThreeVector.hh"
13 
14 #include "G4PhysicalConstants.hh"
15 #include "G4SystemOfUnits.hh"
16 
18 #include "WCSimPmtInfo.hh"
19 
20 #include <vector>
21 // for memset
22 #include <cstring>
23 
24 
26 // PMT Base Class
27 
29 {
31 }
32 
33 G4double WCSimPMTObject::Interpolate_func(G4double x, G4int ncount, G4double *angle, G4double *quantity){
34  // linear interpolate the quantity function versus angle
35  if (x < *angle || x >=*(angle+ncount-1)){
36  return 0;
37  }else{
38  for (Int_t i=0;i!=ncount;i++){
39  if (x>=*(angle+i) && x < *(angle+i+1)){
40  return (x-*(angle+i))/(*(angle+i+1)-*(angle+i))* (*(quantity+i+1)) + (*(angle+i+1)-x)/(*(angle+i+1)-*(angle+i)) * (*(quantity+i));
41  }
42  }
43  }
44 
45  // Error Condition
46  G4cerr << "Interpolation failure." << G4endl;
47  assert(false);
48  return -999.;
49 }
50 
51 
52 // By default, collection efficiency is binned in 10-degree angular bins from 0 to 90
53 // This can be overridden by setting GetCE in the derived class
55  static G4double angle[10] = { 0., 10., 20., 30., 40., 50., 60., 70., 80., 90.};
56  return angle;
57 }
58 
59 
60 // By default, each PMT has 100% collection efficiency at all angles
61 // This can be overridden by setting GetCE in the derived class
63  static G4double CE[10] = { 100., 100., 100., 100., 100., 100., 100., 100., 100., 100.};
64  // CollectionEfficiency before modification on 2015-03-27 (Different from SKDetSim)
65  // static G4double CE[10]={100,100,99,95,90,85,80,69,35,13};
66  return CE;
67 }
68 
69 
70 
72 // 20 inch
73 
74 
77 
78 G4String PMT20inch::GetPMTName() {G4String PMTName = "20inch"; return PMTName;}
79 G4double PMT20inch::GetExposeHeight() {return .18*m;}
80 G4double PMT20inch::GetRadius() {return .254*m;}
81 G4double PMT20inch::GetPMTGlassThickness() {return 0.4*cm;}
82 double PMT20inch::HitTimeSmearing(double Q) {
83  double timingConstant = 10.0;
84  double timingResolution = 0.33 + sqrt(timingConstant/Q);
85  // looking at SK's jitter function for 20" tubes
86  if (timingResolution < 0.58) timingResolution=0.58;
87  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
88  return Smearing_factor;
89 }
90 
91 G4double* PMT20inch::Getqpe()
92  {
93  static G4double qpe0[501]= {
94  // 1
95  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
96  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
97  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
98  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
99  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
100  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
101  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
102  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
103  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
104  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
105  // 2
106  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
107  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
108  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
109  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
110  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
111  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
112  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
113  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
114  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
115  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
116  // 3
117  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
118  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
119  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
120  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
121  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
122  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
123  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
124  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
125  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
126  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
127  // 4
128  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
129  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
130  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
131  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
132  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
133  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
134  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
135  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
136  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
137  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
138  // 5
139  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
140  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
141  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
142  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
143  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
144  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
145  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
146  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
147  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
148  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
149  // 6
150  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
151  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
152  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
153  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
154  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
155  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
156  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
157  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
158  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
159  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
160  // 7
161  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
162  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
163  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
164  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
165  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
166  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
167  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
168  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
169  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
170  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
171  // 8
172  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
173  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
174  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
175  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
176  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
177  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
178  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
179  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
180  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
181  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
182  // 9
183  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
184  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
185  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
186  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
187  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
188  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
189  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
190  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
191  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
192  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
193  // 10
194  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
195  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
196  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
197  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
198  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
199  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
200  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
201  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
202  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
203  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
204  // Dummy element for noticing if the loop reached the end of the array
205  0.0
206  };
207  return qpe0;
208  }
209 
211  static G4double wavelength_value[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
212  return wavelength_value;
213 }
214 
215 G4double* PMT20inch::GetQE(){
216  static G4double QE[20] = { 0.00, .0139, .0854, .169, .203, .206, .211, .202,.188, .167, .140, .116, .0806, .0432, .0265, .0146, .00756, .00508, .00158, 0.00};
217  return QE;
218 }
220  const G4double maxQE = 0.211;
221  return maxQE;
222 }
223 
224 // Should be actual PMT Dark Rate, not effective dark rate in detector including other LE noise
226  /* From e-mail discussion with A.Konaka and S.Nakayama:
227  * SK-I: 4.2 kHz
228  * SK-IV:5.7 kHz, both before electronics threshold in skdetsim
229  * Measured DN with 0.25 pe threshold:
230  * SK-I: 3.4 kHz (2003 SK-NIM: 3 kHz. A.Konaka: "2kHz with hot PMTs removed?")
231  * SK-IV: 4.5 kHz (higher due to FRP)
232  * ToDo: investigate after updating electronics routing, whether to change value to 3.4 kHz
233  */
234 
235  const G4double rate = 4.2*CLHEP::kilohertz; //SKI value set in SKDETSim.
236  return rate;
237 }
238 
239 // Convert dark noise frequency to one before applying threshold of 0.25 pe, as that is what
240 // will be simulated (WCSimWCDigitizer::AddPMTDarkRate)
242  const G4double factor = 1.367;
243  return factor;
244 }
245 
247 // 8 inch
248 
251 
252 G4String PMT8inch::GetPMTName() {G4String PMTName = "8inch"; return PMTName;}
253 G4double PMT8inch::GetExposeHeight() {return 91.6*mm;}
254 G4double PMT8inch::GetRadius() {return 101.6*mm;}
255 G4double PMT8inch::GetPMTGlassThickness() {return 0.55*cm;} //currently the same as 10inch
256 G4double PMT8inch::HitTimeSmearing(double Q) {
257  double timingConstant = 1.890;
258  double timingResolution = 0.33 + sqrt(timingConstant/Q);
259  // looking at SK's jitter function for 20" tubes
260  if (timingResolution < 0.58) timingResolution=0.58;
261  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
262  return Smearing_factor;
263 }
264 
265 G4double* PMT8inch::Getqpe() //currently uses the same as 20inch
266  {
267  static G4double qpe0[501]= {
268  // 1
269  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
270  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
271  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
272  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
273  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
274  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
275  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
276  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
277  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
278  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
279  // 2
280  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
281  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
282  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
283  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
284  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
285  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
286  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
287  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
288  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
289  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
290  // 3
291  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
292  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
293  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
294  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
295  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
296  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
297  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
298  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
299  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
300  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
301  // 4
302  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
303  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
304  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
305  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
306  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
307  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
308  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
309  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
310  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
311  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
312  // 5
313  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
314  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
315  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
316  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
317  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
318  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
319  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
320  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
321  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
322  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
323  // 6
324  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
325  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
326  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
327  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
328  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
329  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
330  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
331  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
332  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
333  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
334  // 7
335  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
336  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
337  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
338  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
339  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
340  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
341  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
342  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
343  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
344  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
345  // 8
346  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
347  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
348  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
349  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
350  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
351  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
352  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
353  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
354  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
355  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
356  // 9
357  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
358  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
359  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
360  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
361  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
362  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
363  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
364  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
365  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
366  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
367  // 10
368  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
369  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
370  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
371  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
372  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
373  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
374  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
375  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
376  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
377  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
378  // Dummy element for noticing if the loop reached the end of the array
379  0.0
380  };
381  return qpe0;
382  }
383 
384 //Currenly the PMT QE info is the same as 20 inch.
385 G4double* PMT8inch::GetQE(){
386  static G4double QE[20] = { 0.00, .0139, .0854, .169, .203, .206, .211, .202,.188, .167, .140, .116, .0806, .0432, .0265, .0146, .00756, .00508, .00158, 0.00};
387  return QE;
388 }
389 G4double* PMT8inch::GetQEWavelength(){static G4double wavelength[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
390  return wavelength;}
391 
393  const G4double maxQE = 0.211;
394  return maxQE;
395 }
396 
398  const G4double rate = 4.2*CLHEP::kilohertz;
399  return rate;
400 }
401 
403  const G4double factor = 1.367;
404  return factor;
405 }
406 
408 // 10 inch
409 
412 
413 G4String PMT10inch::GetPMTName() {G4String PMTName = "10inch"; return PMTName;}
414 G4double PMT10inch::GetExposeHeight() {return 117.*mm;}
415 G4double PMT10inch::GetRadius() {return 127.*mm;}
416 G4double PMT10inch::GetPMTGlassThickness() {return 0.55*cm;}
417 double PMT10inch::HitTimeSmearing(double Q) {
418  double timingConstant = 2.0;
419  double timingResolution = 0.33 + sqrt(timingConstant/Q);
420  // looking at SK's jitter function for 20" tubes
421  if (timingResolution < 0.58) timingResolution=0.58;
422  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
423  return Smearing_factor;
424 }
425 
426 G4double* PMT10inch::Getqpe() //currently uses the same as 20inch
427  {
428  static G4double qpe0[501]= {
429  // 1
430  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
431  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
432  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
433  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
434  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
435  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
436  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
437  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
438  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
439  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
440  // 2
441  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
442  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
443  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
444  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
445  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
446  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
447  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
448  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
449  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
450  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
451  // 3
452  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
453  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
454  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
455  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
456  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
457  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
458  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
459  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
460  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
461  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
462  // 4
463  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
464  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
465  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
466  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
467  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
468  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
469  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
470  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
471  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
472  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
473  // 5
474  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
475  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
476  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
477  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
478  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
479  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
480  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
481  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
482  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
483  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
484  // 6
485  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
486  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
487  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
488  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
489  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
490  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
491  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
492  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
493  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
494  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
495  // 7
496  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
497  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
498  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
499  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
500  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
501  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
502  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
503  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
504  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
505  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
506  // 8
507  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
508  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
509  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
510  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
511  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
512  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
513  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
514  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
515  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
516  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
517  // 9
518  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
519  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
520  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
521  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
522  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
523  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
524  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
525  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
526  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
527  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
528  // 10
529  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
530  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
531  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
532  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
533  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
534  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
535  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
536  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
537  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
538  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
539  // Dummy element for noticing if the loop reached the end of the array
540  0.0
541  };
542  return qpe0;
543  }
544 
545 G4double* PMT10inch::GetQE(){
546  static G4double QE[20] =
547  { 0.00, .0375, .13, .195, .22, .23, .24, .24, .225, .205,
548  .18, .16, .14, .085, .065, .05, .035, .02, .005, 0.0};
549  return QE;
550 }
551 G4double* PMT10inch::GetQEWavelength(){static G4double wavelength[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
552  return wavelength;}
553 
555  const G4double maxQE = 0.24;
556  return maxQE;
557 }
558 
560  const G4double rate = 3.*CLHEP::kilohertz; //R-7081??
561  return rate;
562 }
563 
565  const G4double factor = 1.367;
566  return factor;
567 }
568 
570 // 10 inch HQE
571 
574 
575 G4String PMT10inchHQE::GetPMTName() {G4String PMTName = "10inch"; return PMTName;}
576 G4double PMT10inchHQE::GetExposeHeight() {return 117.*mm;}
577 G4double PMT10inchHQE::GetRadius() {return 127.*mm;}
578 G4double PMT10inchHQE::GetPMTGlassThickness() {return 0.55*cm;}
579 G4double PMT10inchHQE::HitTimeSmearing(double Q) {
580  double timingConstant = 2.0;
581  double timingResolution = 0.33 + sqrt(timingConstant/Q);
582  // looking at SK's jitter function for 20" tubes
583  if (timingResolution < 0.58) timingResolution=0.58;
584  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
585  return Smearing_factor;
586 }
587 
588 G4double* PMT10inchHQE::Getqpe() //currently uses the same as 20inch
589  {
590  static G4double qpe0[501]= {
591  // 1
592  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
593  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
594  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
595  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
596  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
597  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
598  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
599  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
600  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
601  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
602  // 2
603  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
604  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
605  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
606  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
607  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
608  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
609  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
610  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
611  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
612  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
613  // 3
614  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
615  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
616  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
617  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
618  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
619  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
620  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
621  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
622  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
623  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
624  // 4
625  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
626  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
627  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
628  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
629  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
630  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
631  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
632  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
633  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
634  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
635  // 5
636  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
637  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
638  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
639  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
640  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
641  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
642  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
643  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
644  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
645  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
646  // 6
647  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
648  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
649  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
650  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
651  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
652  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
653  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
654  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
655  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
656  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
657  // 7
658  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
659  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
660  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
661  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
662  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
663  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
664  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
665  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
666  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
667  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
668  // 8
669  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
670  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
671  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
672  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
673  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
674  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
675  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
676  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
677  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
678  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
679  // 9
680  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
681  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
682  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
683  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
684  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
685  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
686  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
687  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
688  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
689  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
690  // 10
691  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
692  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
693  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
694  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
695  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
696  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
697  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
698  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
699  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
700  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
701  // Dummy element for noticing if the loop reached the end of the array
702  0.0
703  };
704  return qpe0;
705  }
706 
708  static G4double QE[20] =
709  { 0.00, .0502, .2017, .2933, .3306, .3396, .3320, .3168, .2915, .2655,
710  .2268, .1971, .1641, .1102, .0727, .0499, .0323, .0178, .0061, 0.00};
711  return QE;
712 }
713 G4double* PMT10inchHQE::GetQEWavelength(){static G4double wavelength[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
714  return wavelength;}
715 
717  const G4double maxQE = 0.3396;
718  return maxQE;
719 }
720 
722  const G4double rate = 3*CLHEP::kilohertz; //Ref??R7081 HQE?? (need verification)
723  return rate;
724 }
725 
727  const G4double factor = 1.367;
728  return factor;
729 }
730 
732 // 12 inch HQE
733 
736 
737 G4String PMT12inchHQE::GetPMTName() {G4String PMTName = "12inch"; return PMTName;}
738 G4double PMT12inchHQE::GetExposeHeight() {return 118.*mm;}
739 G4double PMT12inchHQE::GetRadius() {return 152.4*mm;}
740 G4double PMT12inchHQE::GetPMTGlassThickness() {return 0.55*cm;}
741 G4double PMT12inchHQE::HitTimeSmearing(double Q) {
742  double timingConstant = 2.0;
743  double timingResolution = 0.33 + sqrt(timingConstant/Q);
744  // looking at SK's jitter function for 20" tubes
745  if (timingResolution < 0.58) timingResolution=0.58;
746  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
747  return Smearing_factor;
748 }
749 
750 G4double* PMT12inchHQE::Getqpe() //currently uses the same as 20inch
751  {
752  static G4double qpe0[501]= {
753  // 1
754  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
755  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
756  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
757  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
758  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
759  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
760  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
761  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
762  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
763  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
764  // 2
765  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
766  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
767  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
768  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
769  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
770  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
771  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
772  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
773  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
774  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
775  // 3
776  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
777  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
778  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
779  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
780  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
781  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
782  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
783  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
784  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
785  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
786  // 4
787  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
788  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
789  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
790  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
791  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
792  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
793  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
794  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
795  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
796  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
797  // 5
798  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
799  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
800  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
801  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
802  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
803  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
804  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
805  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
806  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
807  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
808  // 6
809  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
810  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
811  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
812  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
813  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
814  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
815  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
816  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
817  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
818  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
819  // 7
820  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
821  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
822  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
823  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
824  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
825  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
826  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
827  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
828  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
829  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
830  // 8
831  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
832  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
833  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
834  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
835  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
836  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
837  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
838  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
839  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
840  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
841  // 9
842  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
843  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
844  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
845  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
846  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
847  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
848  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
849  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
850  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
851  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
852  // 10
853  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
854  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
855  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
856  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
857  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
858  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
859  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
860  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
861  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
862  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
863  // Dummy element for noticing if the loop reached the end of the array
864  0.0
865  };
866  return qpe0;
867  }
868 
869 G4double* PMT12inchHQE::GetQE()//currently uses the same as the 10inchHQE
870 {
871  static G4double QE[20] =
872  { 0.00, .0502, .2017, .2933, .3306, .3396, .3320, .3168, .2915, .2655,
873  .2268, .1971, .1641, .1102, .0727, .0499, .0323, .0178, .0061, 0.00};
874  return QE;
875 }
876 G4double* PMT12inchHQE::GetQEWavelength(){static G4double wavelength[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
877  return wavelength;}
878 
879 G4double PMT12inchHQE::GetmaxQE()//currently uses the same as the 10inchHQE
880 {
881  const G4double maxQE = 0.3396;
882  return maxQE;
883 }
884 
885 
887  const G4double rate = 4.2*CLHEP::kilohertz; //as previous novis.mac (ref?)
888  return rate;
889 }
890 
892  const G4double factor = 1.367;
893  return factor;
894 }
895 
896 
898 // 20 inch HPD
899 
901 //20" HPD (20150522 ver.) Parameter Source //
902 // //
903 // 1pe resolution: Measured in the air (20" HPD) //
904 // Timing Resolution: Measured in the air (20" HPD) //
905 // QE: HQE R3600 PMT data from Hamamatsu //
906 // //
908 
911 
912 G4String HPD20inchHQE::GetPMTName() {G4String PMTName = "HPD20inchHQE"; return PMTName;}
913 G4double HPD20inchHQE::GetExposeHeight() {return .192*m;}
914 G4double HPD20inchHQE::GetRadius() {return .254*m;}
915 G4double HPD20inchHQE::GetPMTGlassThickness() {return 0.3*cm;}
917  G4double sig_param[4]={0.6718,0.1264,0.4450,11.87};
918  G4double lambda_param[2]={0.3255,0.1142};
919 
920  G4double sigma_lowcharge = sig_param[0]*(exp(-sig_param[1]*Q)+sig_param[2]);
921 
922  G4double highcharge_param[2];
923  highcharge_param[0]=2*sig_param[0]*sig_param[1]*sig_param[3]*sqrt(sig_param[3])*exp(-sig_param[1]*sig_param[3]);
924  highcharge_param[1]=sig_param[0]*((1-2*sig_param[1]*sig_param[3])*exp(-sig_param[1]*sig_param[3])+sig_param[2]);
925  G4double sigma_highcharge = highcharge_param[0]/sqrt(Q)+highcharge_param[1];
926 
927  G4double sigma = sigma_lowcharge*(Q<sig_param[3])+sigma_highcharge*(Q>sig_param[3]);
928  G4double lambda = lambda_param[0]+lambda_param[1]*Q;
929  G4double Smearing_factor = G4RandGauss::shoot(-0.2,sigma)-1/lambda*log(1-G4UniformRand());
930  return Smearing_factor;
931 }
932 
934  {
935  static G4double qpe0[501]= {
936  // 1
937  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
938  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
939  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
940  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
941  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
942  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
943  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
944  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
945  0.000000, 0.000002, 0.000009, 0.000039, 0.000137,
946  0.000422, 0.001131, 0.002658, 0.005518, 0.010223,
947  // 2
948  0.017088, 0.026095, 0.036901, 0.048987, 0.061844,
949  0.075095, 0.088517, 0.102003, 0.115514, 0.129042,
950  0.142597, 0.156204, 0.169913, 0.183812, 0.198050,
951  0.212864, 0.228609, 0.245787, 0.265062, 0.287245,
952  0.313238, 0.343936, 0.380072, 0.422047, 0.469762,
953  0.522511, 0.578971, 0.637303, 0.695364, 0.750974,
954  0.802195, 0.847547, 0.886140, 0.917697, 0.942485,
955  0.961183, 0.974724, 0.984134, 0.990406, 0.994415,
956  0.996872, 0.998316, 0.999128, 0.999566, 0.999793,
957  0.999905, 0.999958, 0.999982, 0.999993, 0.999997,
958  // 3
959  0.999999, 1.000000, 1.000000, 1.000000, 1.000000,
960  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
961  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
962  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
963  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
964  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
965  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
966  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
967  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
968  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
969  // 4
970  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
971  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
972  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
973  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
974  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
975  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
976  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
977  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
978  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
979  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
980  // 5
981  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
982  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
983  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
984  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
985  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
986  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
987  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
988  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
989  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
990  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
991  // 6
992  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
993  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
994  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
995  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
996  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
997  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
998  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
999  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1000  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1001  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1002  // 7
1003  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1004  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1005  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1006  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1007  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1008  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1009  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1010  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1011  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1012  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1013  // 8
1014  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1015  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1016  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1017  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1018  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1019  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1020  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1021  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1022  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1023  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1024  // 9
1025  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1026  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1027  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1028  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1029  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1030  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1031  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1032  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1033  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1034  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1035  // 10
1036  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1037  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1038  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1039  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1040  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1041  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1042  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1043  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1044  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1045  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1046  // Dummy element for noticing if the loop reached the end of the array
1047  0.0 };
1048  return qpe0;
1049  }
1050 
1052  static G4double wavelength_value[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
1053  return wavelength_value;
1054 }
1055 
1057  static G4double QE[20] =
1058  { 0.00, .0008, .1255, .254962, .2930, .3127, .3130, .2994, .2791, .2491,
1059  .2070, .1758, .1384, .0779, .0473, .0288, .0149, .0062, .0002, .0001};
1060  return QE;
1061 }
1063  const G4double maxQE = 0.315;
1064  return maxQE;
1065 }
1066 
1068  static G4double CE[10] = { 98., 98., 98., 98., 98., 98., 98., 98., 98., 98.};
1069  return CE;
1070 }
1071 
1072 
1074  const G4double rate = 8.4*CLHEP::kilohertz; //Based on HQE 20in R3600 rate from EGADS Nov 2014, needs to be updated with latest values (ToDo)
1075  return rate;
1076 }
1077 
1079  const G4double factor = 1.119;
1080  return factor;
1081 }
1082 
1084 // 12 inch HPD
1085 
1086 //Information for the HPD12inchHQE is identical to the HPD20inchHQE, except for GetPMTName, GetRadius and GetExposeHeight.
1087 
1090 
1091 G4String HPD12inchHQE::GetPMTName() {G4String PMTName = "HPD12inchHQE"; return PMTName;}
1092 G4double HPD12inchHQE::GetExposeHeight() {return 118.*mm;} //Assumed to be the same as the PMT12inchHQE.
1093 G4double HPD12inchHQE::GetRadius() {return 152.4*mm;} //12 inches
1094 G4double HPD12inchHQE::GetPMTGlassThickness() {return 0.3*cm;}
1096  G4double sig_param[4]={0.6718,0.1264,0.4450,11.87};
1097  G4double lambda_param[2]={0.3255,0.1142};
1098 
1099  G4double sigma_lowcharge = sig_param[0]*(exp(-sig_param[1]*Q)+sig_param[2]);
1100 
1101  G4double highcharge_param[2];
1102  highcharge_param[0]=2*sig_param[0]*sig_param[1]*sig_param[3]*sqrt(sig_param[3])*exp(-sig_param[1]*sig_param[3]);
1103  highcharge_param[1]=sig_param[0]*((1-2*sig_param[1]*sig_param[3])*exp(-sig_param[1]*sig_param[3])+sig_param[2]);
1104  G4double sigma_highcharge = highcharge_param[0]/sqrt(Q)+highcharge_param[1];
1105 
1106  G4double sigma = sigma_lowcharge*(Q<sig_param[3])+sigma_highcharge*(Q>sig_param[3]);
1107  G4double lambda = lambda_param[0]+lambda_param[1]*Q;
1108  G4double Smearing_factor = G4RandGauss::shoot(-0.2,sigma)-1/lambda*log(1-G4UniformRand());
1109  return Smearing_factor;
1110 }
1111 
1113  {
1114  static G4double qpe0[501]= {
1115  // 1
1116  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1117  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1118  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1119  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1120  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1121  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1122  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1123  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1124  0.000000, 0.000002, 0.000009, 0.000039, 0.000137,
1125  0.000422, 0.001131, 0.002658, 0.005518, 0.010223,
1126 
1127  0.017088, 0.026095, 0.036901, 0.048987, 0.061844,
1128  0.075095, 0.088517, 0.102003, 0.115514, 0.129042,
1129  0.142597, 0.156204, 0.169913, 0.183812, 0.198050,
1130  0.212864, 0.228609, 0.245787, 0.265062, 0.287245,
1131  0.313238, 0.343936, 0.380072, 0.422047, 0.469762,
1132  0.522511, 0.578971, 0.637303, 0.695364, 0.750974,
1133  0.802195, 0.847547, 0.886140, 0.917697, 0.942485,
1134  0.961183, 0.974724, 0.984134, 0.990406, 0.994415,
1135  0.996872, 0.998316, 0.999128, 0.999566, 0.999793,
1136  0.999905, 0.999958, 0.999982, 0.999993, 0.999997,
1137 
1138  0.999999, 1.000000, 1.000000, 1.000000, 1.000000,
1139  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1140  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1141  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1142  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1143  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1144  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1145  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1146  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1147  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1148  // 4
1149  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1150  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1151  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1152  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1153  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1154  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1155  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1156  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1157  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1158  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1159  // 5
1160  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1161  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1162  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1163  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1164  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1165  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1166  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1167  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1168  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1169  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1170  // 6
1171  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1172  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1173  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1174  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1175  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1176  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1177  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1178  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1179  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1180  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1181  // 7
1182  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1183  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1184  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1185  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1186  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1187  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1188  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1189  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1190  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1191  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1192  // 8
1193  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1194  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1195  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1196  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1197  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1198  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1199  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1200  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1201  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1202  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1203  // 9
1204  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1205  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1206  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1207  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1208  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1209  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1210  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1211  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1212  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1213  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1214  // 10
1215  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1216  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1217  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1218  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1219  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1220  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1221  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1222  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1223  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1224  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1225  // Dummy element for noticing if the loop reached the end of the array
1226  0.0 };
1227  return qpe0;
1228  }
1229 
1231  static G4double wavelength_value[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
1232  return wavelength_value;
1233 }
1234 
1236  static G4double QE[20] =
1237  { 0.00, .0008, .1255, .254962, .2930, .3127, .3130, .2994, .2791, .2491,
1238  .2070, .1758, .1384, .0779, .0473, .0288, .0149, .0062, .0002, .0001};
1239  return QE;
1240 }
1242  const G4double maxQE = 0.315;
1243  return maxQE;
1244 }
1245 
1247  static G4double CE[10] = { 98., 98., 98., 98., 98., 98., 98., 98., 98., 98.};
1248  return CE;
1249 }
1250 
1252  const G4double rate = 3.0*CLHEP::kilohertz; //from previous novis.mac. Need better motivated setting!
1253  return rate;
1254 }
1255 
1257  const G4double factor = 1.119;
1258  return factor;
1259 }
1260 
1262 // 20 inch HQE Box and Line PMT
1263 
1265 // BoxandLine20inchHQE Parameter Source //
1266 // //
1267 // 1pe resolution: Measured data in dark box (20" B&L) //
1268 // Timing Resolution: Measured data in dark box (20" B&L) //
1269 // QE: HQE R3600 PMT data from Hamamatsu //
1270 // CE: Simulation result of Hamamatsu (<460mm phi area) //
1272 
1273 
1274 
1277 
1278 G4String BoxandLine20inchHQE::GetPMTName() {G4String PMTName = "BoxandLine20inchHQE"; return PMTName;}
1279 G4double BoxandLine20inchHQE::GetExposeHeight() {return .18*m;}
1280 G4double BoxandLine20inchHQE::GetRadius() {return .254*m;}
1282 
1284  G4double sig_param[4]={0.6314,0.06260,0.5711,23.96};
1285  G4double lambda_param[2]={0.4113,0.07827};
1286  G4double sigma_lowcharge = sig_param[0]*(exp(-sig_param[1]*Q)+sig_param[2]);
1287 
1288  G4double highcharge_param[2];
1289  highcharge_param[0]=2*sig_param[0]*sig_param[1]*sig_param[3]*sqrt(sig_param[3])*exp(-sig_param[1]*sig_param[3]);
1290  highcharge_param[1]=sig_param[0]*((1-2*sig_param[1]*sig_param[3])*exp(-sig_param[1]*sig_param[3])+sig_param[2]);
1291  G4double sigma_highcharge = highcharge_param[0]/sqrt(Q)+highcharge_param[1];
1292 
1293  G4double sigma = sigma_lowcharge*(Q<sig_param[3])+sigma_highcharge*(Q>sig_param[3]);
1294  G4double lambda = lambda_param[0]+lambda_param[1]*Q;
1295  G4double Smearing_factor = G4RandGauss::shoot(-0.2,sigma)-1/lambda*log(1-G4UniformRand());
1296  return Smearing_factor;
1297 }
1298 
1300 {
1301  static G4double qpe0[501]= {
1302  // 1
1303  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1304  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1305  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1306  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1307  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1308  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1309  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1310  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1311  0.000000, 0.000001, 0.000001, 0.000002, 0.000004,
1312  0.000008, 0.000014, 0.000025, 0.000044, 0.000486,
1313  // 2
1314  0.007195, 0.019406, 0.031920, 0.044503, 0.057189,
1315  0.070020, 0.083060, 0.096388, 0.110108, 0.124351,
1316  0.139276, 0.155072, 0.171956, 0.190167, 0.209961,
1317  0.231594, 0.255310, 0.281319, 0.309777, 0.340762,
1318  0.374259, 0.410142, 0.448167, 0.487976, 0.529101,
1319  0.570993, 0.613041, 0.654608, 0.695067, 0.733833,
1320  0.770390, 0.804317, 0.835304, 0.863151, 0.887777,
1321  0.909203, 0.927543, 0.942987, 0.955778, 0.966198,
1322  0.974543, 0.981116, 0.986205, 0.990078, 0.992974,
1323  0.995104, 0.996642, 0.997734, 0.998495, 0.999017,
1324  // 3
1325  0.999369, 0.999601, 0.999752, 0.999848, 0.999909,
1326  0.999946, 0.999969, 0.999982, 0.999990, 0.999994,
1327  0.999997, 0.999998, 0.999999, 1.000000, 1.000000,
1328  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1329  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1330  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1331  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1332  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1333  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1334  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1335  // 4
1336  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1337  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1338  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1339  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1340  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1341  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1342  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1343  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1344  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1345  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1346  // 5
1347  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1348  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1349  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1350  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1351  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1352  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1353  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1354  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1355  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1356  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1357  // 6
1358  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1359  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1360  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1361  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1362  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1363  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1364  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1365  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1366  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1367  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1368  // 7
1369  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1370  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1371  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1372  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1373  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1374  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1375  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1376  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1377  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1378  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1379  // 8
1380  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1381  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1382  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1383  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1384  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1385  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1386  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1387  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1388  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1389  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1390  // 9
1391  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1392  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1393  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1394  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1395  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1396  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1397  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1398  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1399  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1400  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1401  // 10
1402  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1403  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1404  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1405  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1406  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1407  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1408  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1409  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1410  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1411  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1412  // Dummy element for noticing if the loop reached the end of the array
1413  0.0 };
1414  return qpe0;
1415 }
1417  static G4double wavelength_value[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
1418  return wavelength_value;
1419 }
1420 
1422  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1423  static G4double QE[20] =
1424  { 0.00*correctionFactor, .0008*correctionFactor, .1255*correctionFactor, .254962*correctionFactor, .2930*correctionFactor, .3127*correctionFactor, .3130*correctionFactor, .2994*correctionFactor, .2791*correctionFactor, .2491*correctionFactor,
1425  .2070*correctionFactor, .1758*correctionFactor, .1384*correctionFactor, .0779*correctionFactor, .0473*correctionFactor, .0288*correctionFactor, .0149*correctionFactor, .0062*correctionFactor, .0002*correctionFactor, .0001*correctionFactor};
1426 
1427  return QE;
1428 }
1430  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1431  const G4double maxQE = 0.315*correctionFactor;
1432  return maxQE;
1433 }
1435  static G4double CE[10] = { 95., 95., 95., 95., 95., 95., 95., 95., 95., 95.};
1436  return CE;
1437 }
1438 
1440  /*
1441  * 10.*CLHEP::kilohertz; //from presentation 1st HyperK Collab meeting, July 2015.
1442  * 8.4kHz comes from average of HQE R3600-02's in EGADS (ref. Nakayama-san)
1443  * Actual values of latest version of B&L PMT still being studied. ToDo: update when ready.
1444  */
1445  const G4double rate = 8.4*CLHEP::kilohertz;
1446  return rate;
1447 }
1448 
1450  const G4double factor = 1.126;
1451  return factor;
1452 }
1453 
1454 
1456 // 12 inch HQE Box and Line PMT
1457 
1458 //Information for the BoxandLine12inchHQE is identical to the BoxandLine20inchHQE, except for GetPMTName, GetRadius and GetExposeHeight.
1459 
1462 
1463 G4String BoxandLine12inchHQE::GetPMTName() {G4String PMTName = "BoxandLine12inchHQE"; return PMTName;}
1464 G4double BoxandLine12inchHQE::GetExposeHeight() {return 118.*mm;}
1465 G4double BoxandLine12inchHQE::GetRadius() {return 152.4*mm;}
1467 
1469  G4double sig_param[4]={0.6314,0.06260,0.5711,23.96};
1470  G4double lambda_param[2]={0.4113,0.07827};
1471 
1472  G4double highcharge_param[2];
1473  highcharge_param[0]=2*sig_param[0]*sig_param[1]*sig_param[3]*sqrt(sig_param[3])*exp(-sig_param[1]*sig_param[3]);
1474  highcharge_param[1]=sig_param[0]*((1-2*sig_param[1]*sig_param[3])*exp(-sig_param[1]*sig_param[3])+sig_param[2]);
1475 
1476  G4double sigma_lowcharge = sig_param[0]*(exp(-sig_param[1]*Q)+sig_param[2]);
1477  G4double sigma_highcharge = highcharge_param[0]/sqrt(Q)+highcharge_param[1];
1478 
1479  G4double sigma = sigma_lowcharge*(Q<sig_param[3])+sigma_highcharge*(Q>sig_param[3]);
1480  G4double lambda = lambda_param[0]+lambda_param[1]*Q;
1481  G4double Smearing_factor = G4RandGauss::shoot(-0.2,sigma)-1/lambda*log(1-G4UniformRand());
1482  return Smearing_factor;
1483 }
1484 
1486 {
1487  static G4double qpe0[501]= {
1488  // 1
1489  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1490  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1491  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1492  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1493  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1494  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1495  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1496  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1497  0.000000, 0.000001, 0.000001, 0.000002, 0.000004,
1498  0.000008, 0.000014, 0.000025, 0.000044, 0.000486,
1499  // 2
1500  0.007195, 0.019406, 0.031920, 0.044503, 0.057189,
1501  0.070020, 0.083060, 0.096388, 0.110108, 0.124351,
1502  0.139276, 0.155072, 0.171956, 0.190167, 0.209961,
1503  0.231594, 0.255310, 0.281319, 0.309777, 0.340762,
1504  0.374259, 0.410142, 0.448167, 0.487976, 0.529101,
1505  0.570993, 0.613041, 0.654608, 0.695067, 0.733833,
1506  0.770390, 0.804317, 0.835304, 0.863151, 0.887777,
1507  0.909203, 0.927543, 0.942987, 0.955778, 0.966198,
1508  0.974543, 0.981116, 0.986205, 0.990078, 0.992974,
1509  0.995104, 0.996642, 0.997734, 0.998495, 0.999017,
1510  // 3
1511  0.999369, 0.999601, 0.999752, 0.999848, 0.999909,
1512  0.999946, 0.999969, 0.999982, 0.999990, 0.999994,
1513  0.999997, 0.999998, 0.999999, 1.000000, 1.000000,
1514  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1515  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1516  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1517  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1518  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1519  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1520  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1521  // 4
1522  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1523  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1524  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1525  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1526  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1527  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1528  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1529  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1530  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1531  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1532  // 5
1533  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1534  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1535  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1536  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1537  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1538  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1539  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1540  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1541  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1542  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1543  // 6
1544  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1545  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1546  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1547  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1548  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1549  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1550  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1551  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1552  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1553  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1554  // 7
1555  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1556  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1557  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1558  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1559  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1560  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1561  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1562  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1563  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1564  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1565  // 8
1566  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1567  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1568  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1569  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1570  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1571  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1572  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1573  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1574  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1575  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1576  // 9
1577  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1578  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1579  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1580  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1581  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1582  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1583  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1584  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1585  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1586  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1587  // 10
1588  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1589  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1590  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1591  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1592  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1593  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1594  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1595  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1596  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1597  1.000000, 1.000000, 1.000000, 1.000000, 1.000000,
1598  // Dummy element for noticing if the loop reached the end of the array
1599  0.0 };
1600  return qpe0;
1601 }
1603  static G4double wavelength_value[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
1604  return wavelength_value;
1605 }
1606 
1608  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1609  static G4double QE[20] =
1610  { 0.00*correctionFactor, .0008*correctionFactor, .1255*correctionFactor, .254962*correctionFactor, .2930*correctionFactor, .3127*correctionFactor, .3130*correctionFactor, .2994*correctionFactor, .2791*correctionFactor, .2491*correctionFactor,
1611  .2070*correctionFactor, .1758*correctionFactor, .1384*correctionFactor, .0779*correctionFactor, .0473*correctionFactor, .0288*correctionFactor, .0149*correctionFactor, .0062*correctionFactor, .0002*correctionFactor, .0001*correctionFactor};
1612 
1613  return QE;
1614 }
1616  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1617  const G4double maxQE = 0.315*correctionFactor;
1618  return maxQE;
1619 }
1621  static G4double CE[10] = { 95., 95., 95., 95., 95., 95., 95., 95., 95., 95.};
1622  return CE;
1623 }
1624 
1625 
1627  // Currently using previous defaults of WCSim (ref?)
1628  // A different reference: 4.43*CLHEP::kilohertz; //R11780 HQE value from Table4, NIMA 712 p162-173 (2013)
1629  const G4double rate = 3.0*CLHEP::kilohertz;
1630  return rate;
1631 }
1632 
1634  const G4double factor = 1.126;
1635  return factor;
1636 }
1637 
1639 // 5 inch
1640 
1643 
1644 G4String PMT5inch::GetPMTName() {G4String PMTName = "5inch"; return PMTName;}
1645 G4double PMT5inch::GetExposeHeight() {return 57.*mm;} //rough estimation
1646 G4double PMT5inch::GetRadius() {return 63.5*mm;}
1647 G4double PMT5inch::GetPMTGlassThickness() {return 0.55*cm;} //currently the same as 10inch
1648 G4double PMT5inch::HitTimeSmearing(double Q) {
1649  double timingConstant = 1.890; //currently the same as 8inch
1650  double timingResolution = 0.33 + sqrt(timingConstant/Q);
1651  // looking at SK's jitter function for 20" tubes
1652  if (timingResolution < 0.58) timingResolution=0.58;
1653  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
1654  return Smearing_factor;
1655 }
1656 
1657 G4double* PMT5inch::Getqpe() //currently uses the same as 20inch
1658 {
1659  static G4double qpe0[501]= {
1660  // 1
1661  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1662  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1663  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1664  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1665  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1666  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1667  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1668  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1669  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1670  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
1671  // 2
1672  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
1673  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
1674  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
1675  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
1676  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
1677  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
1678  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
1679  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
1680  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
1681  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
1682  // 3
1683  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
1684  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
1685  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
1686  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
1687  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
1688  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
1689  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
1690  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
1691  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
1692  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
1693  // 4
1694  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
1695  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
1696  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
1697  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
1698  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
1699  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
1700  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
1701  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
1702  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
1703  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
1704  // 5
1705  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
1706  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
1707  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
1708  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
1709  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
1710  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
1711  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
1712  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
1713  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
1714  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
1715  // 6
1716  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
1717  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
1718  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
1719  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
1720  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
1721  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
1722  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
1723  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
1724  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
1725  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
1726  // 7
1727  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
1728  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
1729  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
1730  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
1731  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
1732  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
1733  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
1734  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
1735  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
1736  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
1737  // 8
1738  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
1739  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
1740  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
1741  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
1742  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
1743  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
1744  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
1745  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
1746  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
1747  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
1748  // 9
1749  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
1750  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
1751  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
1752  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
1753  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
1754  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
1755  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
1756  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
1757  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
1758  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
1759  // 10
1760  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
1761  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
1762  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
1763  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
1764  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
1765  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
1766  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
1767  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
1768  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
1769  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
1770  // Dummy element for noticing if the loop reached the end of the array
1771  0.0
1772  };
1773  return qpe0;
1774 }
1775 
1776 //Currenly the PMT QE info is the same as 20 inch.
1777 G4double* PMT5inch::GetQE(){
1778  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1779  static G4double QE[20] = { 0.00*correctionFactor, .0139*correctionFactor, .0854*correctionFactor, .169*correctionFactor, .203*correctionFactor, .206*correctionFactor, .211*correctionFactor, .202*correctionFactor,.188*correctionFactor, .167*correctionFactor, .140*correctionFactor, .116*correctionFactor, .0806*correctionFactor, .0432*correctionFactor, .0265*correctionFactor, .0146*correctionFactor, .00756*correctionFactor, .00508*correctionFactor, .00158*correctionFactor, 0.00*correctionFactor};
1780  return QE;
1781 }
1782 G4double* PMT5inch::GetQEWavelength(){static G4double wavelength[20] = { 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640., 660.};
1783  return wavelength;}
1784 
1786  const G4double maxQE = 0.211;
1787  return maxQE;
1788 }
1789 
1790 // Should be actual PMT Dark Rate, not effective dark rate in detector including other LE noise
1792  const G4double rate = 400*CLHEP::hertz; //SKI value set in SKDETSim.
1793  return rate;
1794 }
1795 
1796 // Convert dark noise frequency to one before applying threshold of 0.25 pe, as that is what
1797 // will be simulated (WCSimWCDigitizer::AddPMTDarkRate)
1799  const G4double factor = 1.367;
1800  return factor;
1801 }
1802 
1804 // 3 inch (transit time spread of 4ns FWHM @1p.e.)
1805 // Adapted from ET Enterprise http://pprc.qmul.ac.uk/~zsoldos/9302B.pdf
1806 
1809 
1810 G4String PMT3inch::GetPMTName() {G4String PMTName = "3inch"; return PMTName;}
1811 G4double PMT3inch::GetExposeHeight() {return 10.*mm;} // Reduced height exposure to take into account the WLS plate thickness
1812 G4double PMT3inch::GetRadius() {return 39.*mm;}
1813 G4double PMT3inch::GetPMTGlassThickness() {return 0.40*cm;}
1814 G4double PMT3inch::HitTimeSmearing(double Q) {
1815  double timingConstant = 1.890; // 4ns FWHM when Q=1.0
1816  double timingResolution = 0.33 + sqrt(timingConstant/Q);
1817  // looking at SK's jitter function for 20" tubes
1818  if (timingResolution < 0.58) timingResolution=0.58;
1819  double Smearing_factor = G4RandGauss::shoot(0.0,timingResolution);
1820  return Smearing_factor;
1821 }
1822 
1823 G4double* PMT3inch::Getqpe() //currently uses the same as 20inch
1824 {
1825  static G4double qpe0[501]= {
1826  // 1
1827  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1828  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1829  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1830  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1831  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1832  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1833  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1834  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1835  0.000000, 0.000000, 0.000000, 0.000000, 0.000000,
1836  0.000000, 0.000129, 0.000754, 0.004060, 0.028471,
1837  // 2
1838  0.068449, 0.115679, 0.164646, 0.203466, 0.235631,
1839  0.262351, 0.282064, 0.303341, 0.320618, 0.338317,
1840  0.357825, 0.371980, 0.385820, 0.398838, 0.413595,
1841  0.428590, 0.444387, 0.461685, 0.482383, 0.502369,
1842  0.520779, 0.540011, 0.559293, 0.579354, 0.599337,
1843  0.619580, 0.639859, 0.659807, 0.679810, 0.699620,
1844  0.718792, 0.737382, 0.755309, 0.772042, 0.788232,
1845  0.803316, 0.817861, 0.831148, 0.844339, 0.855532,
1846  0.866693, 0.876604, 0.886067, 0.894473, 0.902150,
1847  0.909515, 0.915983, 0.922050, 0.927418, 0.932492,
1848  // 3
1849  0.936951, 0.940941, 0.944660, 0.948004, 0.951090,
1850  0.953833, 0.956576, 0.958886, 0.961134, 0.963116,
1851  0.964930, 0.966562, 0.968008, 0.969424, 0.970687,
1852  0.971783, 0.972867, 0.973903, 0.974906, 0.975784,
1853  0.976632, 0.977438, 0.978190, 0.978891, 0.979543,
1854  0.980124, 0.980666, 0.981255, 0.981770, 0.982227,
1855  0.982701, 0.983146, 0.983566, 0.983975, 0.984357,
1856  0.984713, 0.985094, 0.985404, 0.985739, 0.986049,
1857  0.986339, 0.986630, 0.986922, 0.987176, 0.987431,
1858  0.987655, 0.987922, 0.988173, 0.988414, 0.988639,
1859  // 4
1860  0.988856, 0.989065, 0.989273, 0.989475, 0.989662,
1861  0.989828, 0.990007, 0.990172, 0.990327, 0.990497,
1862  0.990645, 0.990797, 0.990981, 0.991135, 0.991272,
1863  0.991413, 0.991550, 0.991673, 0.991805, 0.991928,
1864  0.992063, 0.992173, 0.992296, 0.992406, 0.992514,
1865  0.992632, 0.992733, 0.992837, 0.992954, 0.993046,
1866  0.993148, 0.993246, 0.993354, 0.993458, 0.993549,
1867  0.993656, 0.993744, 0.993836, 0.993936, 0.994033,
1868  0.994134, 0.994222, 0.994307, 0.994413, 0.994495,
1869  0.994572, 0.994659, 0.994739, 0.994816, 0.994886,
1870  // 5
1871  0.994970, 0.995032, 0.995110, 0.995178, 0.995250,
1872  0.995321, 0.995383, 0.995464, 0.995532, 0.995609,
1873  0.995674, 0.995750, 0.995821, 0.995889, 0.995952,
1874  0.996010, 0.996071, 0.996153, 0.996218, 0.996283,
1875  0.996335, 0.996384, 0.996431, 0.996484, 0.996537,
1876  0.996597, 0.996655, 0.996701, 0.996745, 0.996802,
1877  0.996860, 0.996917, 0.996962, 0.997014, 0.997079,
1878  0.997114, 0.997165, 0.997204, 0.997250, 0.997295,
1879  0.997335, 0.997379, 0.997418, 0.997454, 0.997488,
1880  0.997530, 0.997573, 0.997606, 0.997648, 0.997685,
1881  // 6
1882  0.997725, 0.997762, 0.997795, 0.997835, 0.997866,
1883  0.997898, 0.997941, 0.997966, 0.997997, 0.998039,
1884  0.998065, 0.998104, 0.998128, 0.998153, 0.998179,
1885  0.998205, 0.998223, 0.998254, 0.998293, 0.998319,
1886  0.998346, 0.998374, 0.998397, 0.998414, 0.998432,
1887  0.998456, 0.998482, 0.998511, 0.998532, 0.998553,
1888  0.998571, 0.998594, 0.998614, 0.998638, 0.998669,
1889  0.998693, 0.998715, 0.998743, 0.998762, 0.998793,
1890  0.998812, 0.998834, 0.998857, 0.998872, 0.998888,
1891  0.998904, 0.998926, 0.998946, 0.998963, 0.998983,
1892  // 7
1893  0.999007, 0.999027, 0.999044, 0.999064, 0.999079,
1894  0.999096, 0.999120, 0.999133, 0.999152, 0.999160,
1895  0.999174, 0.999188, 0.999206, 0.999221, 0.999234,
1896  0.999248, 0.999263, 0.999276, 0.999286, 0.999300,
1897  0.999313, 0.999321, 0.999331, 0.999347, 0.999356,
1898  0.999369, 0.999381, 0.999394, 0.999402, 0.999415,
1899  0.999427, 0.999433, 0.999446, 0.999458, 0.999472,
1900  0.999484, 0.999499, 0.999513, 0.999522, 0.999532,
1901  0.999540, 0.999550, 0.999559, 0.999567, 0.999574,
1902  0.999588, 0.999599, 0.999613, 0.999618, 0.999627,
1903  // 8
1904  0.999635, 0.999639, 0.999652, 0.999662, 0.999667,
1905  0.999671, 0.999678, 0.999682, 0.999688, 0.999693,
1906  0.999698, 0.999701, 0.999706, 0.999711, 0.999718,
1907  0.999722, 0.999727, 0.999732, 0.999737, 0.999740,
1908  0.999746, 0.999750, 0.999754, 0.999763, 0.999766,
1909  0.999769, 0.999774, 0.999780, 0.999784, 0.999788,
1910  0.999796, 0.999803, 0.999807, 0.999809, 0.999815,
1911  0.999820, 0.999827, 0.999830, 0.999833, 0.999833,
1912  0.999836, 0.999839, 0.999842, 0.999845, 0.999850,
1913  0.999853, 0.999857, 0.999860, 0.999865, 0.999870,
1914  // 9
1915  0.999873, 0.999877, 0.999880, 0.999882, 0.999883,
1916  0.999886, 0.999888, 0.999889, 0.999895, 0.999896,
1917  0.999897, 0.999901, 0.999902, 0.999905, 0.999907,
1918  0.999907, 0.999909, 0.999911, 0.999911, 0.999912,
1919  0.999913, 0.999914, 0.999917, 0.999919, 0.999921,
1920  0.999923, 0.999927, 0.999929, 0.999931, 0.999933,
1921  0.999936, 0.999942, 0.999942, 0.999944, 0.999947,
1922  0.999947, 0.999948, 0.999949, 0.999952, 0.999955,
1923  0.999957, 0.999957, 0.999961, 0.999962, 0.999963,
1924  0.999963, 0.999963, 0.999964, 0.999965, 0.999965,
1925  // 10
1926  0.999965, 0.999965, 0.999966, 0.999968, 0.999969,
1927  0.999971, 0.999972, 0.999972, 0.999973, 0.999975,
1928  0.999975, 0.999975, 0.999975, 0.999975, 0.999975,
1929  0.999975, 0.999979, 0.999979, 0.999980, 0.999982,
1930  0.999983, 0.999985, 0.999986, 0.999987, 0.999987,
1931  0.999988, 0.999989, 0.999989, 0.999989, 0.999989,
1932  0.999990, 0.999990, 0.999992, 0.999993, 0.999994,
1933  0.999994, 0.999994, 0.999994, 0.999994, 0.999995,
1934  0.999995, 0.999995, 0.999996, 0.999996, 0.999996,
1935  0.999996, 0.999998, 0.999999, 1.000000, 1.000000,
1936  // Dummy element for noticing if the loop reached the end of the array
1937  0.0
1938  };
1939  return qpe0;
1940 }
1941 
1942 //PMT QE Info extrapolated from ETEL datasheet
1943 G4double* PMT3inch::GetQE(){
1944  G4double correctionFactor = 1./0.73;//Correction factor added in July 2015 to scale the output of B&L PDs to 2.27 times the 20" PMTS based on Hamamatsu simulation. This was done in Pull Request #98 and will be removed once a more permanent solution is found.
1945  static G4double QE[20] = { 0.00*correctionFactor, .005*correctionFactor, .09*correctionFactor, .21*correctionFactor, .28*correctionFactor, .30*correctionFactor, .29*correctionFactor, .28*correctionFactor, .26*correctionFactor, .24*correctionFactor, .22*correctionFactor, .18*correctionFactor, .13*correctionFactor, .075*correctionFactor, .04*correctionFactor, .02*correctionFactor, .008*correctionFactor, 0.00*correctionFactor, 0.00*correctionFactor, 0.00*correctionFactor};
1946  return QE;
1947 }
1948 G4double* PMT3inch::GetQEWavelength(){static G4double wavelength[20] = { 260., 280., 300., 320., 340., 360., 380., 400., 420., 440., 460., 480., 500., 520., 540., 560., 580., 600., 620., 640.};
1949  return wavelength;}
1950 
1952  const G4double maxQE = 0.30;
1953  return maxQE;
1954 }
1955 
1956 // Should be actual PMT Dark Rate, not effective dark rate in detector including other LE noise
1958  const G4double rate = 400*CLHEP::hertz; //SKI value set in SKDETSim.
1959  return rate;
1960 }
1961 
1962 // Convert dark noise frequency to one before applying threshold of 0.25 pe, as that is what
1963 // will be simulated (WCSimWCDigitizer::AddPMTDarkRate)
1965  const G4double factor = 1.367;
1966  return factor;
1967 }
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double GetRadius()
double HitTimeSmearing(double)
G4double * GetQEWavelength()
virtual G4double GetCollectionEfficiency(double)
G4double * GetQEWavelength()
G4String GetPMTName()
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)
G4double * Getqpe()
G4double * Getqpe()
G4double GetPMTGlassThickness()
double HitTimeSmearing(double)
G4double GetmaxQE()
G4double GetDarkRate()
G4double GetDarkRate()
G4double GetDarkRate()
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()
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()
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()
G4double GetRadius()
G4double GetRadius()
G4double GetDarkRateConversionFactor()
G4double GetDarkRate()
G4double GetDarkRateConversionFactor()
G4double * GetQE()
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()
G4double GetPMTGlassThickness()
double HitTimeSmearing(double)
G4double * Getqpe()
G4double GetDarkRateConversionFactor()
G4double GetExposeHeight()
G4double GetmaxQE()
tuple sigma
Definition: MakeKin.py:221
G4double GetPMTGlassThickness()
virtual G4double * GetCollectionEfficiencyAngle()
G4double * GetQE()
G4double * GetQE()
G4double GetRadius()
G4double GetPMTGlassThickness()
G4double GetDarkRateConversionFactor()
double HitTimeSmearing(double)