CbmRoot
CbmRichPmt.cxx
Go to the documentation of this file.
1 /*
2  * CbmRichPmt.cxx
3  *
4  * Created on: Dec 16, 2015
5  * Author: slebedev
6  */
7 
8 #include "CbmRichPmt.h"
9 
10 #include "CbmRichGeoManager.h" // for CbmRichGeoManager
11 #include "CbmRichPmtType.h" // for CbmRichPmtTypeEnum, CbmRichPmtTypeCer...
12 #include "CbmRichRecGeoPar.h" // for CbmRichRecGeoPar
13 
14 #include <FairLogger.h> // for LOG, Logger
15 #include <TAxis.h> // for TAxis
16 #include <TRandom.h> // for TRandom, gRandom
17 
18 #include <TGraph.h> // for TGraph
19 
20 #include <stddef.h> // for size_t
21 #include <utility> // for pair
22 
23 using namespace std;
24 
25 const Double_t CbmRichPmt::c = 2.998E8; // speed of light
26 const Double_t CbmRichPmt::h = 6.626E-34; // Planck constant
27 const Double_t CbmRichPmt::e = 1.6022E-19; // elementary charge
28 
30  : fCollectionEfficiency(1.), fPmtDataMap(), fRefractiveIndex(-1.) {
31  InitQE();
32 }
33 
35 
36 Double_t CbmRichPmt::getLambda(Double_t momentum) {
37  Double_t refractiveIndex = CbmRichGeoManager::GetInstance().fGP->fNRefrac;
38  Double_t lambda = c / refractiveIndex * h / e / momentum; // wavelength in nm
39  return lambda;
40 }
41 
43  Double_t momentum) {
44  map<CbmRichPmtTypeEnum, CbmRichPmtQEData*>::iterator it =
45  fPmtDataMap.find(detType);
46  if (it == fPmtDataMap.end()) {
47  LOG(error) << "CbmRichPmt::isPhotonDetected - Wrong detector type :"
48  << detType;
49  ;
50  return false;
51  }
52 
53  CbmRichPmtQEData* pmtData = it->second;
54  if (nullptr == pmtData) {
55  LOG(error) << "CbmRichPmt::isPhotonDetected - data is nullptr for detType :"
56  << detType;
57  return false;
58  }
59 
60  if (fRefractiveIndex < 0.)
62  Double_t lambda =
63  c / fRefractiveIndex * h / e / momentum; // wavelength in nm
64 
65  if (lambda >= pmtData->fLambdaMin && lambda < pmtData->fLambdaMax) {
66  Int_t ilambda =
67  (Int_t)((lambda - pmtData->fLambdaMin) / pmtData->fLambdaStep);
68  Double_t rand = gRandom->Rndm();
69  if (ilambda < 0
70  || static_cast<size_t>(ilambda) >= pmtData->fEfficiency.size()) {
71  LOG(error) << "CbmRichPmt::isPhotonDetected ilambda out of range.";
72  return false;
73  } else {
74  if (pmtData->fEfficiency[ilambda] * fCollectionEfficiency > rand)
75  return true;
76  }
77  }
78  return false;
79 }
80 
82  map<CbmRichPmtTypeEnum, CbmRichPmtQEData*>::iterator it =
83  fPmtDataMap.find(detType);
84  if (it == fPmtDataMap.end()) {
85  LOG(info) << "HRich700Pmt::getQEGraph - Wrong detector type :" << detType;
86  return nullptr;
87  }
88  CbmRichPmtQEData* pmtData = it->second;
89  if (nullptr == pmtData) {
90  LOG(info) << "CbmRichPmt::getQEGraph - data is nullptr for detType :"
91  << detType;
92  return nullptr;
93  }
94 
95  const Int_t n = pmtData->fEfficiency.size();
96  Double_t x[n], y[n];
97  for (Int_t i = 0; i < n; i++) {
98  x[i] = pmtData->fLambdaMin + i * pmtData->fLambdaStep;
99  y[i] = pmtData->fEfficiency[i];
100  }
101  TGraph* gr = new TGraph(n, x, y);
102  gr->GetXaxis()->SetTitle("Wavelangth [nm]");
103  gr->GetYaxis()->SetTitle("QE");
104  gr->SetTitle("");
105  return gr;
106 }
107 
109  for (map<CbmRichPmtTypeEnum, CbmRichPmtQEData*>::iterator it =
110  fPmtDataMap.begin();
111  it != fPmtDataMap.end();
112  it++) {
113  if (nullptr != it->second) { delete it->second; }
114  }
115  fPmtDataMap.clear();
116 }
117 
119  // See CbmRichPmtType.h for on details about each Pmt detector type
120 
121  LOG(debug) << "CbmRichPmt init QE";
122 
123 
124  ClearMap();
125 
126  {
127  CbmRichPmtQEData* data = new CbmRichPmtQEData();
129  data->fLambdaMin = 170.;
130  data->fLambdaMax = 800.;
131  data->fLambdaStep = 10.;
132 
133  data->fEfficiency = {
134  0., 0.0373, 0.0768, 0.104238, 0.130168, 0.162537,
135  0.196098, 0.219972, 0.238386, 0.257846, 0.27616, 0.300536,
136  0.315942, 0.323639, 0.327806, 0.329745, 0.330278, 0.330734,
137  0.330734, 0.327052, 0.325578, 0.320677, 0.316751, 0.309921,
138  0.301695, 0.294525, 0.284986, 0.272276, 0.255125, 0.23644,
139  0.223164, 0.210214, 0.200552, 0.183554, 0.14927, 0.118152,
140  0.10057, 0.0880096, 0.0707358, 0.0612509, 0.0527653, 0.0464113,
141  0.0378286, 0.0296114, 0.022314, 0.0150159, 0.00877741, 0.003258,
142  0.00178254, 0.00248491, 0.00353476, 0.00327258, 0.00367864, 0.00352639,
143  0.00288406, 0.00317378, 0.00255156, 0.0024984, 0.00256586, 0.00174571,
144  0.00201436, 0.00212824, 0.00221443, 0.00254726};
145 
146  fPmtDataMap.insert(
147  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
148  }
149 
150  {
151  CbmRichPmtQEData* data = new CbmRichPmtQEData();
153  data->fLambdaMin = 170.;
154  data->fLambdaMax = 800.;
155  data->fLambdaStep = 10.;
156 
157  data->fEfficiency = {
158  0.15, 0.1873, 0.2268, 0.281283, 0.319146, 0.318419,
159  0.322942, 0.310789, 0.296113, 0.308306, 0.320059, 0.33156,
160  0.338313, 0.332637, 0.335656, 0.334134, 0.332542, 0.329217,
161  0.329217, 0.329065, 0.324032, 0.317459, 0.306133, 0.307902,
162  0.300078, 0.293836, 0.28501, 0.27188, 0.254544, 0.237351,
163  0.225093, 0.213887, 0.203469, 0.184299, 0.149514, 0.120047,
164  0.105304, 0.0954967, 0.0765149, 0.0673676, 0.0601531, 0.0536015,
165  0.0442024, 0.0359242, 0.0276292, 0.0193571, 0.0113956, 0.00387145,
166  0.00455862, 0.00264693, 0.00440582, 0.00444134, 0.00523567, 0.00505885,
167  0.00397938, 0.00436081, 0.0035522, 0.00354125, 0.00355477, 0.00232293,
168  0.0030541, 0.00306825, 0.00311562, 0.00358131};
169 
170  fPmtDataMap.insert(
171  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
172  }
173 
174  {
175  CbmRichPmtQEData* data = new CbmRichPmtQEData();
177  data->fLambdaMin = 100.;
178  data->fLambdaMax = 700.;
179  data->fLambdaStep = 20.;
180 
181  data->fEfficiency = {0.216, 0.216, 0.216, 0.216, 0.216, 0.216, 0.216, 0.216,
182  0.216, 0.216, 0.216, 0.227, 0.23, 0.227, 0.216, 0.2,
183  0.176, 0.15, 0.138, 0.1, 0.082, 0.06, 0.044, 0.032,
184  0.022, 0.015, 0.01, 0.006, 0.004};
185 
186  fPmtDataMap.insert(
187  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
188  }
189 
190  {
191  CbmRichPmtQEData* data = new CbmRichPmtQEData();
193  data->fLambdaMin = 130.;
194  data->fLambdaMax = 210.;
195  data->fLambdaStep = 10.;
196 
197  data->fEfficiency = {0.45, 0.4, 0.35, 0.32, 0.25, 0.2, 0.1, 0.03};
198 
199  fPmtDataMap.insert(
200  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
201  }
202 
203  {
204  CbmRichPmtQEData* data = new CbmRichPmtQEData();
206  data->fLambdaMin = 260.;
207  data->fLambdaMax = 740.;
208  data->fLambdaStep = 20.;
209 
210 
211  data->fEfficiency = {0.06, 0.12, 0.2, 0.22, 0.22, 0.22,
212  0.21, 0.2, 0.18, 0.16, 0.14, 0.11,
213  0.1, 0.06, 0.047, 0.03, 0.021, 0.012,
214  0.006, 0.0023, 0.0008, 0.00022, 0.00007, 0.00002};
215 
216  fPmtDataMap.insert(
217  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
218  }
219 
220  {
221  CbmRichPmtQEData* data = new CbmRichPmtQEData();
223  data->fLambdaMin = 200.;
224  data->fLambdaMax = 640.;
225  data->fLambdaStep = 20.;
226 
227  data->fEfficiency = {0.095, 0.13, 0.16, 0.2, 0.23, 0.24, 0.25, 0.25,
228  0.24, 0.24, 0.23, 0.22, 0.2, 0.16, 0.14, 0.1,
229  0.065, 0.045, 0.02, 0.017, 0.007, 0.0033};
230 
231  fPmtDataMap.insert(
232  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
233  }
234 
235  {
236  CbmRichPmtQEData* data = new CbmRichPmtQEData();
238  data->fLambdaMin = 160.;
239  data->fLambdaMax = 640.;
240  data->fLambdaStep = 20.;
241 
242  data->fEfficiency = {0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.23, 0.24,
243  0.25, 0.25, 0.24, 0.24, 0.23, 0.22, 0.2, 0.16,
244  0.14, 0.1, 0.065, 0.045, 0.02, 0.017, 0.007, 0.0033};
245 
246  fPmtDataMap.insert(
247  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
248  }
249 
250  {
251  CbmRichPmtQEData* data = new CbmRichPmtQEData();
253  data->fLambdaMin = 160.;
254  data->fLambdaMax = 700.;
255  data->fLambdaStep = 10.;
256 
257  data->fEfficiency = {0.0, 0.0, 0.0324, 0.0586, 0.0945, 0.1061, 0.1265,
258  0.1482, 0.1668, 0.1887, 0.2093, 0.2134, 0.2303, 0.2482,
259  0.2601, 0.2659, 0.2702, 0.283, 0.2863, 0.2863, 0.2884,
260  0.286, 0.2811, 0.2802, 0.272, 0.2638, 0.2562, 0.2472,
261  0.2368, 0.2218, 0.2032, 0.186, 0.1735, 0.1661, 0.1483,
262  0.121, 0.0959, 0.0782, 0.0647, 0.0538, 0.0372, 0.0296,
263  0.0237, 0.0176, 0.0123, 0.0083, 0.005, 0.003, 0.0017,
264  0.0008, 0.0006, 0.0003, 0.0003, 0.0002, 0.0001};
265 
266  fPmtDataMap.insert(
267  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
268  }
269 
270  {
271  CbmRichPmtQEData* data = new CbmRichPmtQEData();
273  data->fLambdaMin = 180.;
274  data->fLambdaMax = 640.;
275  data->fLambdaStep = 10.;
276 
277  data->fEfficiency = {0.178, 0.200, 0.218, 0.222, 0.226, 0.228, 0.214, 0.210,
278  0.229, 0.231, 0.244, 0.253, 0.259, 0.263, 0.266, 0.277,
279  0.280, 0.274, 0.275, 0.270, 0.264, 0.263, 0.254, 0.246,
280  0.239, 0.229, 0.219, 0.207, 0.193, 0.179, 0.161, 0.149,
281  0.135, 0.117, 0.103, 0.082, 0.065, 0.056, 0.036, 0.030,
282  0.024, 0.018, 0.013, 0.009, 0.006, 0.004, 0.002};
283 
284  fPmtDataMap.insert(
285  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
286  }
287 
288  {
289  CbmRichPmtQEData* data = new CbmRichPmtQEData();
291  data->fLambdaMin = 180.;
292  data->fLambdaMax = 640.;
293  data->fLambdaStep = 10.;
294 
295  data->fEfficiency = {0.202, 0.207, 0.210, 0.214, 0.218, 0.219, 0.206, 0.202,
296  0.220, 0.222, 0.235, 0.243, 0.249, 0.253, 0.256, 0.266,
297  0.270, 0.264, 0.265, 0.260, 0.254, 0.253, 0.244, 0.237,
298  0.229, 0.221, 0.210, 0.199, 0.186, 0.172, 0.155, 0.143,
299  0.129, 0.113, 0.099, 0.079, 0.063, 0.054, 0.035, 0.028,
300  0.023, 0.018, 0.013, 0.009, 0.006, 0.004, 0.002};
301 
302  fPmtDataMap.insert(
303  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
304  }
305 
306  {
307  CbmRichPmtQEData* data = new CbmRichPmtQEData();
309  data->fLambdaMin = 180.;
310  data->fLambdaMax = 640.;
311  data->fLambdaStep = 10.;
312 
313 
314  data->fEfficiency = {0.060, 0.080, 0.096, 0.109, 0.130, 0.152, 0.172, 0.194,
315  0.214, 0.218, 0.235, 0.253, 0.265, 0.271, 0.275, 0.288,
316  0.291, 0.292, 0.294, 0.292, 0.287, 0.286, 0.278, 0.269,
317  0.262, 0.252, 0.242, 0.227, 0.208, 0.178, 0.170, 0.155,
318  0.129, 0.102, 0.083, 0.069, 0.058, 0.041, 0.033, 0.027,
319  0.020, 0.015, 0.010, 0.006, 0.004, 0.002, 0.001};
320 
321  fPmtDataMap.insert(
322  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
323  }
324 
325  {
326  CbmRichPmtQEData* data = new CbmRichPmtQEData();
328  data->fLambdaMin = 180.;
329  data->fLambdaMax = 640.;
330  data->fLambdaStep = 10.;
331 
332  data->fEfficiency = {0., 0., 0., 0., 0., 0., 0., 0.,
333  0., 0., 0.315, 0.344, 0.366, 0.378, 0.384, 0.400,
334  0.403, 0.404, 0.407, 0.403, 0.396, 0.395, 0.383, 0.370,
335  0.359, 0.347, 0.331, 0.310, 0.285, 0.263, 0.244, 0.232,
336  0.213, 0.182, 0.151, 0.126, 0.106, 0.092, 0.069, 0.060,
337  0.051, 0.042, 0.034, 0.026, 0.019, 0.014, 0.009};
338 
339  fPmtDataMap.insert(
340  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
341  }
342 
343  {
344  CbmRichPmtQEData* data = new CbmRichPmtQEData();
346  data->fLambdaMin = 180.;
347  data->fLambdaMax = 640.;
348  data->fLambdaStep = 10.;
349 
350  data->fEfficiency = {0.239, 0.294, 0.332, 0.351, 0.352, 0.338, 0.303, 0.286,
351  0.307, 0.307, 0.324, 0.340, 0.354, 0.364, 0.371, 0.390,
352  0.389, 0.392, 0.395, 0.393, 0.388, 0.388, 0.378, 0.367,
353  0.358, 0.347, 0.333, 0.310, 0.384, 0.265, 0.248, 0.238,
354  0.220, 0.188, 0.150, 0.123, 0.104, 0.089, 0.068, 0.058,
355  0.050, 0.041, 0.033, 0.025, 0.018, 0.013, 0.008};
356 
357  fPmtDataMap.insert(
358  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
359  }
360 
361  {
362  CbmRichPmtQEData* data = new CbmRichPmtQEData();
364  data->fLambdaMin = 180.;
365  data->fLambdaMax = 640.;
366  data->fLambdaStep = 10.;
367 
368  data->fEfficiency = {0.037, 0.063, 0.103, 0.110, 0.131, 0.153, 0.172, 0.195,
369  0.215, 0.217, 0.232, 0.249, 0.261, 0.267, 0.271, 0.285,
370  0.286, 0.285, 0.287, 0.285, 0.280, 0.279, 0.272, 0.264,
371  0.256, 0.248, 0.239, 0.223, 0.204, 0.189, 0.177, 0.170,
372  0.155, 0.130, 0.105, 0.087, 0.073, 0.060, 0.041, 0.033,
373  0.027, 0.020, 0.015, 0.010, 0.006, 0.004, 0.003};
374 
375  fPmtDataMap.insert(
376  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
377  }
378 
379  {
380  CbmRichPmtQEData* data = new CbmRichPmtQEData();
382  data->fLambdaMin = 180.;
383  data->fLambdaMax = 640.;
384  data->fLambdaStep = 10.;
385 
386  data->fEfficiency = {0.202, 0.240, 0.269, 0.277, 0.279, 0.273, 0.245, 0.228,
387  0.243, 0.243, 0.253, 0.259, 0.262, 0.263, 0.265, 0.278,
388  0.279, 0.281, 0.283, 0.281, 0.277, 0.275, 0.267, 0.260,
389  0.253, 0.245, 0.234, 0.219, 0.201, 0.187, 0.175, 0.167,
390  0.150, 0.124, 0.098, 0.080, 0.066, 0.055, 0.040, 0.033,
391  0.026, 0.020, 0.014, 0.010, 0.006, 0.004, 0.002};
392 
393  fPmtDataMap.insert(
394  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
395  }
396 
397  {
398  CbmRichPmtQEData* data = new CbmRichPmtQEData();
400  data->fLambdaMin = 180.;
401  data->fLambdaMax = 640.;
402  data->fLambdaStep = 10.;
403 
404  data->fEfficiency = {0.007, 0.040, 0.085, 0.103, 0.130, 0.160, 0.186, 0.215,
405  0.244, 0.256, 0.281, 0.310, 0.332, 0.344, 0.355, 0.376,
406  0.382, 0.386, 0.390, 0.390, 0.387, 0.386, 0.376, 0.365,
407  0.356, 0.345, 0.328, 0.302, 0.278, 0.257, 0.241, 0.227,
408  0.191, 0.153, 0.128, 0.112, 0.098, 0.085, 0.064, 0.055,
409  0.047, 0.039, 0.030, 0.023, 0.017, 0.011, 0.007};
410 
411  fPmtDataMap.insert(
412  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
413  }
414 
415  {
416  CbmRichPmtQEData* data = new CbmRichPmtQEData();
418  data->fLambdaMin = 180.;
419  data->fLambdaMax = 640.;
420  data->fLambdaStep = 10.;
421 
422  data->fEfficiency = {0.241, 0.304, 0.351, 0.364, 0.368, 0.357, 0.311, 0.279,
423  0.299, 0.304, 0.321, 0.329, 0.336, 0.342, 0.350, 0.370,
424  0.374, 0.379, 0.383, 0.384, 0.381, 0.382, 0.372, 0.362,
425  0.354, 0.344, 0.327, 0.300, 0.275, 0.259, 0.244, 0.231,
426  0.195, 0.155, 0.130, 0.113, 0.097, 0.083, 0.065, 0.055,
427  0.046, 0.038, 0.030, 0.022, 0.016, 0.011, 0.007};
428 
429  fPmtDataMap.insert(
430  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
431  }
432 
433  {
434  CbmRichPmtQEData* data = new CbmRichPmtQEData();
436  data->fLambdaMin = 160.;
437  data->fLambdaMax = 640.;
438  data->fLambdaStep = 20.;
439 
440  data->fEfficiency = {0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99,
441  0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99,
442  0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99, 0.99};
443 
444  fPmtDataMap.insert(
445  pair<CbmRichPmtTypeEnum, CbmRichPmtQEData*>(data->fDetectorType, data));
446  }
447 }
CbmRichPmtTypeH8500
@ CbmRichPmtTypeH8500
Definition: CbmRichPmtType.h:27
CbmRichPmtTypeH8500WithWls
@ CbmRichPmtTypeH8500WithWls
Definition: CbmRichPmtType.h:35
h
Generates beam ions for transport simulation.
Definition: CbmBeamGenerator.h:17
CbmRichPmt::h
static const Double_t h
Definition: CbmRichPmt.h:67
CbmRichPmt::fCollectionEfficiency
Double_t fCollectionEfficiency
Definition: CbmRichPmt.h:62
CbmRichRecGeoPar::fNRefrac
Double_t fNRefrac
Definition: CbmRichRecGeoPar.h:228
CbmRichGeoManager::GetInstance
static CbmRichGeoManager & GetInstance()
Definition: CbmRichGeoManager.h:29
CbmRichPmt::c
static const Double_t c
Definition: CbmRichPmt.h:66
CbmRichPmtTypeCern12H8500_16
@ CbmRichPmtTypeCern12H8500_16
Definition: CbmRichPmtType.h:72
CbmRichPmt::InitQE
void InitQE()
Definition: CbmRichPmt.cxx:118
CbmRichPmt
Definition: CbmRichPmt.h:38
CbmRichPmtTypeCern11H8500_6
@ CbmRichPmtTypeCern11H8500_6
Definition: CbmRichPmtType.h:44
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
gr
Char_t * gr
Definition: CbmEvDisTracks.cxx:289
CbmRichRecGeoPar.h
RICH geometry parameters for the reconstruction. This class is used for convinient storing of the bas...
CbmRichPmt::fPmtDataMap
std::map< CbmRichPmtTypeEnum, CbmRichPmtQEData * > fPmtDataMap
Definition: CbmRichPmt.h:64
CbmRichPmt::e
static const Double_t e
Definition: CbmRichPmt.h:68
CbmRichPmtTypeIdeal
@ CbmRichPmtTypeIdeal
Definition: CbmRichPmtType.h:83
CbmRichPmtTypeCern11H8500_10
@ CbmRichPmtTypeCern11H8500_10
Definition: CbmRichPmtType.h:48
CbmRichPmt::~CbmRichPmt
virtual ~CbmRichPmt()
Definition: CbmRichPmt.cxx:34
CbmRichGeoManager.h
CbmRichPmtTypeCern11H8500_11
@ CbmRichPmtTypeCern11H8500_11
Definition: CbmRichPmtType.h:52
CbmRichPmt::ClearMap
void ClearMap()
Definition: CbmRichPmt.cxx:108
CbmRichPmt::isPhotonDetected
Bool_t isPhotonDetected(CbmRichPmtTypeEnum detType, Double_t momentum)
Definition: CbmRichPmt.cxx:42
CbmRichPmt::getLambda
static Double_t getLambda(Double_t momentum)
Definition: CbmRichPmt.cxx:36
CbmRichPmtTypeCern12H10966A_17
@ CbmRichPmtTypeCern12H10966A_17
Definition: CbmRichPmtType.h:76
CbmRichPmtTypeEnum
CbmRichPmtTypeEnum
Definition: CbmRichPmtType.h:11
CbmRichPmtTypeH8500_03
@ CbmRichPmtTypeH8500_03
Definition: CbmRichPmtType.h:31
CbmRichPmt::getQEGraph
TGraph * getQEGraph(CbmRichPmtTypeEnum detType)
Definition: CbmRichPmt.cxx:81
CbmRichPmtTypeCosy17NoWls
@ CbmRichPmtTypeCosy17NoWls
Definition: CbmRichPmtType.h:13
CbmRichPmtQEData::fLambdaMin
Double_t fLambdaMin
Definition: CbmRichPmt.h:25
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmRichPmtTypeCosy17WithWls
@ CbmRichPmtTypeCosy17WithWls
Definition: CbmRichPmtType.h:16
CbmRichPmtTypeCern12H8500_15
@ CbmRichPmtTypeCern12H8500_15
Definition: CbmRichPmtType.h:68
CbmRichPmt::fRefractiveIndex
Double_t fRefractiveIndex
Definition: CbmRichPmt.h:70
CbmRichPmtTypeR11265_14
@ CbmRichPmtTypeR11265_14
Definition: CbmRichPmtType.h:64
CbmRichPmtTypeCern11H8500_12
@ CbmRichPmtTypeCern11H8500_12
Definition: CbmRichPmtType.h:56
CbmRichPmtQEData::fEfficiency
std::vector< Double_t > fEfficiency
Definition: CbmRichPmt.h:28
CbmRichPmtTypeR11265_13
@ CbmRichPmtTypeR11265_13
Definition: CbmRichPmtType.h:60
x
Double_t x
Definition: CbmMvdSensorDigiToHitTask.cxx:68
y
Double_t y
Definition: CbmMvdSensorDigiToHitTask.cxx:68
CbmRichPmtQEData
Definition: CbmRichPmt.h:22
CbmRichPmtTypeCern12H10966A_18
@ CbmRichPmtTypeCern12H10966A_18
Definition: CbmRichPmtType.h:80
CbmRichPmt.h
CbmRichGeoManager::fGP
CbmRichRecGeoPar * fGP
Definition: CbmRichGeoManager.h:23
CbmRichPmtQEData::fLambdaStep
Double_t fLambdaStep
Definition: CbmRichPmt.h:27
CbmRichPmtQEData::fLambdaMax
Double_t fLambdaMax
Definition: CbmRichPmt.h:26
CbmRichPmtType.h
CbmRichPmtTypeProtvino
@ CbmRichPmtTypeProtvino
Definition: CbmRichPmtType.h:19
CbmRichPmtTypeCsi
@ CbmRichPmtTypeCsi
Definition: CbmRichPmtType.h:23
CbmRichPmt::CbmRichPmt
CbmRichPmt()
Definition: CbmRichPmt.cxx:29
CbmRichPmtQEData::fDetectorType
CbmRichPmtTypeEnum fDetectorType
Definition: CbmRichPmt.h:24