ATLAS Offline Software
SiNumerology.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 namespace InDetDD {
6 
7 inline int SiNumerology::numBarrels() const
8 {
9  return m_barrelIds.size();
10 }
11 
12 inline int SiNumerology::numEndcaps() const
13 {
14  return m_endcapIds.size();
15 }
16 
17 inline int SiNumerology::barrelId(int index) const
18 {
19  return m_barrelIds[index];
20 }
21 
22 inline int SiNumerology::endcapId(int index) const
23 {
24  return m_endcapIds[index];
25 }
26 
27 inline int SiNumerology::numLayers() const
28 {
29  return m_numLayers;
30 }
31 
32 inline int SiNumerology::numDiskLayers() const
33 {
34  return m_numDiskLayers;
35 }
36 
37 inline int SiNumerology::numDisks() const
38 {
39  return m_numDisks;
40 }
41 
42 inline int SiNumerology::numRingsForDisk(int disk) const
43 {
44  return m_ringsForDisk[disk];
45 }
46 
47 inline int SiNumerology::numPhiModulesForLayer(int layer) const
48 {
49  return m_phiModulesForLayer[layer];
50 }
51 
52 inline int SiNumerology::numPhiModulesForDiskRing(int disk, int ring) const
53 {
54  return m_phiModulesForDiskRing[disk][ring];
55 }
56 
57 inline int SiNumerology::numEtaModulesForLayer(int layer) const
58 {
59  return m_etaModulesForLayer[layer];
60 }
61 
62 inline int SiNumerology::numDisksForLayer(int layer) const
63 {
64  return m_disksForLayer[layer];
65 }
66 
67 inline int SiNumerology::numPhiModulesForLayerDisk(int layer, int disk) const
68 {
69  return m_phiModulesForLayerDisk[layer][disk];
70 }
71 
72 inline int SiNumerology::beginEtaModuleForLayer(int layer) const
73 {
74  // Assume symmetric about zero.
75  return -m_etaModulesForLayer[layer]/2;
76 }
77 
78 inline int SiNumerology::endEtaModuleForLayer(int layer) const
79 {
80  // Assume symmetric about zero.
81  return m_etaModulesForLayer[layer]/2+1;
82 }
83 
84 inline bool SiNumerology::skipEtaZeroForLayer(int layer) const
85 {
86  // If even then no module at eta = 0.
87  return !(m_etaModulesForLayer[layer]%2);
88 }
89 
90 inline int SiNumerology::maxNumBarrelEta() const
91 {
92  return m_maxNumBarrelEta;
93 }
94 
95 inline int SiNumerology::maxNumEndcapRings() const
96 {
97  return m_maxNumEndcapRings;
98 }
99 
100 inline int SiNumerology::maxNumStrips() const
101 {
102  return m_maxPhiCells;
103 }
104 
105 inline int SiNumerology::maxNumPhiCells() const
106 {
107  return m_maxPhiCells;
108 }
109 
110 inline int SiNumerology::maxNumEtaCells() const
111 {
112  return m_maxEtaCells;
113 }
114 
115 
116 inline bool SiNumerology::useLayer(int layer) const
117 {
118  return (m_phiModulesForLayer[layer] != 0);
119 }
120 
121 inline bool SiNumerology::useDiskLayer(int layer) const
122 {
123  return (m_disksForLayer[layer] != 0);
124 }
125 
126 inline bool SiNumerology::useDisk(int disk) const
127 {
128  return (m_ringsForDisk[disk] != 0);
129 }
130 
131 inline int SiNumerology::numBarrelDBM() const
132 {
133  return 0;
134 }
135 
136 inline int SiNumerology::numDisksDBM() const
137 {
138  return m_numDisksDBM;
139 }
140 
141 inline bool SiNumerology::useDiskDBM(int disk) const
142 {
143  return (disk<numDisksDBM())?1:0;
144 }
145 
146 inline int SiNumerology::numRingsForDiskDBM(int /*currentdisk*/) const
147 {
148  return 1;
149 }
150 
151 inline int SiNumerology::numPhiModulesForDiskRingDBM(int disk, int ring) const
152 {
153  return m_phiModulesForDiskRingDBM[disk][ring];
154 }
155 
156 inline int SiNumerology::numEndcapsDBM() const
157 {
158  return m_endcapIdsDBM.size();
159 }
160 
161 inline int SiNumerology::endcapIdDBM(int index) const
162 {
163  return m_endcapIdsDBM[index];
164 }
165 
166 } // End namespace