ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
LUCID
LUCID_SimUtils
LUCID_SimEvent
src
GetQuantumEfficiency.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include <algorithm>
6
#include <cassert>
7
#include "
GetQuantumEfficiency.h
"
8
9
namespace
{
10
11
struct
L2QE {
12
double
lambda;
13
double
qe;
14
};
15
16
L2QE
const
r762[] = {
17
{160., 0.063096},
18
{170., 0.152522},
19
{180., 0.188365},
20
{190., 0.211349},
21
{200., 0.237137},
22
{210., 0.232631},
23
{220., 0.223872},
24
{230., 0.207332},
25
{240., 0.203392},
26
{250., 0.199526},
27
{260., 0.192014},
28
{270., 0.188365},
29
{280., 0.192014},
30
{290., 0.207332},
31
{300., 0.211349},
32
{310., 0.215443},
33
{320., 0.223872},
34
{330., 0.228209},
35
{340., 0.232631},
36
{350., 0.237137},
37
{360., 0.241732},
38
{370., 0.246415},
39
{380., 0.256055},
40
{390., 0.251189},
41
{400., 0.251189},
42
{410., 0.251189},
43
{420., 0.251189},
44
{430., 0.246415},
45
{440., 0.246415},
46
{450., 0.237137},
47
{460., 0.232631},
48
{470., 0.219617},
49
{480., 0.207332},
50
{490., 0.195734},
51
{500., 0.177828},
52
{510., 0.161560},
53
{520., 0.146780},
54
{530., 0.133352},
55
{540., 0.125893},
56
{550., 0.114376},
57
{560., 0.101937},
58
{570., 0.077923},
59
{580., 0.055165},
60
{590., 0.044668},
61
{600., 0.036869},
62
{610., 0.029854},
63
{620., 0.021962},
64
{630., 0.017113},
65
{640., 0.012115},
66
{650., 0.008912},
67
{660., 0.005623},
68
{670., 0.003687},
69
{680., 0.002073},
70
{690., 0.001188},
71
{700., 0.000764}
72
};
73
74
bool
less_than(L2QE
const
& lhs,
double
l) {
return
lhs.lambda <
l
; }
75
76
L2QE
const
*
const
r762_begin = r762;
77
L2QE
const
*
const
r762_end = r762 +
sizeof
(r762) /
sizeof
(L2QE);
78
}
79
80
double
GetQuantumEfficiency
(
double
lambda, L2QE
const
* first, L2QE
const
* last) {
81
82
double
const
lambda_min = first->lambda;
83
double
const
lambda_max = (last - 1)->lambda;
84
85
if
(lambda < lambda_min || lambda > lambda_max)
return
0;
86
87
L2QE
const
*
const
p(std::lower_bound(first, last, lambda, less_than));
88
89
if
(p == first)
return
p->qe;
90
else
{
91
92
L2QE
const
*
const
q = p - 1;
93
return
(lambda - q->lambda)*(p->qe - q->qe)/(p->lambda - q->lambda) + q->qe;
94
}
95
}
96
97
double
GetQuantumEfficiencyR762
(
double
lambda) {
return
GetQuantumEfficiency
(lambda, r762_begin, r762_end); }
GetQuantumEfficiency
double GetQuantumEfficiency(double lambda, L2QE const *first, L2QE const *last)
Definition
GetQuantumEfficiency.cxx:80
GetQuantumEfficiencyR762
double GetQuantumEfficiencyR762(double lambda)
Definition
GetQuantumEfficiency.cxx:97
GetQuantumEfficiency.h
PrintTrkAnaSummary.l
l
Printing final latex table to .tex output file.
Definition
PrintTrkAnaSummary.py:370
Generated on
for ATLAS Offline Software by
1.17.0