CMS 3D CMS Logo

TrackerNameSpace.cc
Go to the documentation of this file.
2 
4 
5 
6 //______________________________________________________________________________
9  trackerTopology_(topology),
10  tpb_(topology),
11  tpe_(topology),
12  tib_(topology),
13  tob_(topology),
14  tid_(topology),
15  tec_(topology)
16 {
17 }
18 
19 
20 //______________________________________________________________________________
23  trackerTopology_(topology)
24 {
25 }
26 
27 
28 //______________________________________________________________________________
31 {
32  return trackerTopology_->pxbModule(id);
33 }
34 
35 
36 //______________________________________________________________________________
39 {
40  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
41  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
42 
43  // Ladder in 1st quadrant: number = lpqc_ + 1 - l (1 to lpqc_)
44  // Ladder in 2nd quadrant: number = l - lpqc_ (1 to lpqc_)
45  // Ladder in 3rd quadrant: number = l - lpqc_ (lpqc_ + 1 to 2 * lpqc_)
46  // Ladder in 4th quadrant: number = 5 * lpqc_ + 1 - l (lpqc_ + 1 to 2 * lpqc_)
47 
48  return l > 3 * lpqc_[c] ? 5 * lpqc_[c] + 1 - l : // ladder in 4th quadrant
49  (l > lpqc_[c] ? l - lpqc_[c] : // ladder not in 1st quadrant
50  lpqc_[c] + 1 - l);
51 }
52 
53 
54 //______________________________________________________________________________
57 {
58  return trackerTopology_->pxbLayer(id);
59 }
60 
61 
62 //______________________________________________________________________________
65 {
66  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
67  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
68 
69  return l > lpqc_[c] && l <= 3 * lpqc_[c] ? 1 : 2;
70 }
71 
72 
73 //______________________________________________________________________________
76 {
77  return 1;
78 }
79 
80 
81 //______________________________________________________________________________
84  trackerTopology_(topology)
85 {
86 }
87 
88 
91 {
92  return trackerTopology_->pxfModule(id);
93 }
94 
97 {
98  return trackerTopology_->pxfPanel(id);
99 }
100 
101 unsigned int align::TrackerNameSpace::TPE
103 {
104  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
105 
106  // Blade in 1st quadrant: number = bpqd_ + 1 - b (1 to bpqd_)
107  // Blade in 2nd quadrant: number = b - bpqd_ (1 to bpqd_)
108  // Blade in 3rd quadrant: number = b - bpqd_ (bpqd_ + 1 to 2 * bpqd_)
109  // Blade in 4th quadrant: number = 5 * bpqd_ + 1 - b (bpqd_ + 1 to 2 * bpqd_)
110 
111  return b > 3 * bpqd_ ? // blade in 4th quadrant
112  5 * bpqd_ + 1 - b :
113  (b > bpqd_ ? // blade not in 1st quadrant
114  b - bpqd_ : bpqd_ + 1 - b);
115 }
116 
117 unsigned int align::TrackerNameSpace::TPE
119 {
120  return trackerTopology_->pxfDisk(id);
121 }
122 
123 unsigned int align::TrackerNameSpace::TPE
125 {
126  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
127 
128  return b > bpqd_ && b <= 3 * bpqd_ ? 1 : 2;
129 }
130 
131 unsigned int align::TrackerNameSpace::TPE
133 {
134  return trackerTopology_->pxfSide(id);
135 }
136 
137 
140  trackerTopology_(topology)
141 {
142 }
143 
144 unsigned int align::TrackerNameSpace::TIB
146 {
147  return trackerTopology_->tibModule(id);
148 }
149 
150 unsigned int align::TrackerNameSpace::TIB
152 {
153  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
154  // s[1]: surface lower = 1, upper = 2
155  // s[2]: string no. increases with phi
156 
157  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
158 
159  // String on +y surface: number = s (1 to sphs_)
160  // String in -y surface: number = 2 * sphs_ + 1 - s (1 to sphs_)
161 
162  return s[2] > sphs_[l] ? 2 * sphs_[l] + 1 - s[2] : s[2];
163 }
164 
165 unsigned int align::TrackerNameSpace::TIB
167 {
168  return trackerTopology_->tibStringInfo(id)[1];
169 }
170 
171 unsigned int align::TrackerNameSpace::TIB
173 {
174  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
175  // s[1]: surface lower = 1, upper = 2
176  // s[2]: string no. increases with phi
177 
178  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
179 
180  return s[2] > sphs_[l] ? 1 : 2;
181 }
182 
183 unsigned int align::TrackerNameSpace::TIB
185 {
186  return trackerTopology_->tibLayer(id);
187 }
188 
189 unsigned int align::TrackerNameSpace::TIB
191 {
192  return trackerTopology_->tibStringInfo(id)[0];
193 }
194 
195 unsigned int align::TrackerNameSpace::TIB
197 {
198  return 1;
199 }
200 
203  trackerTopology_(topology)
204 {
205 }
206 
207 unsigned int align::TrackerNameSpace::TOB
209 {
210  return trackerTopology_->tobModule(id);
211 }
212 
213 unsigned int align::TrackerNameSpace::TOB
215 {
216  return trackerTopology_->tobRodInfo(id)[1];
217 }
218 
219 unsigned int align::TrackerNameSpace::TOB
221 {
222  return trackerTopology_->tobLayer(id);
223 }
224 
225 unsigned int align::TrackerNameSpace::TOB
227 {
228  return trackerTopology_->tobRodInfo(id)[0];
229 }
230 
231 unsigned int align::TrackerNameSpace::TOB
233 {
234  return 1;
235 }
236 
239  trackerTopology_(topology)
240 {
241 }
242 
243 unsigned int align::TrackerNameSpace::TID
245 {
246  return trackerTopology_->tidModuleInfo(id)[1];
247 }
248 
249 unsigned int align::TrackerNameSpace::TID
251 {
252  return trackerTopology_->tidModuleInfo(id)[0];
253 }
254 
255 unsigned int align::TrackerNameSpace::TID
257 {
258  return trackerTopology_->tidRing(id);
259 }
260 
261 unsigned int align::TrackerNameSpace::TID
263 {
264  return trackerTopology_->tidWheel(id);
265 }
266 
267 unsigned int align::TrackerNameSpace::TID
269 {
270  return trackerTopology_->tidSide(id);
271 }
272 
275  trackerTopology_(topology)
276 {
277 }
278 
279 unsigned int align::TrackerNameSpace::TEC
281 {
282  return trackerTopology_->tecModule(id);
283 }
284 
285 unsigned int align::TrackerNameSpace::TEC
287 {
288  return trackerTopology_->tecRing(id);
289 }
290 
291 unsigned int align::TrackerNameSpace::TEC
293 {
294  return trackerTopology_->tecPetalInfo(id)[1];
295 }
296 
297 unsigned int align::TrackerNameSpace::TEC
299 {
300  return trackerTopology_->tecPetalInfo(id)[0];
301 }
302 
303 unsigned int align::TrackerNameSpace::TEC
305 {
306  return trackerTopology_->tecWheel(id);
307 }
308 
309 unsigned int align::TrackerNameSpace::TEC
311 {
312  return trackerTopology_->tecSide(id);
313 }
const TrackerTopology * trackerTopology_
unsigned int ringNumber(align::ID) const
Ring number increases with rho from 1 to 3.
TOB(const TrackerTopology *)
static const char tec_[]
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 8.
unsigned int tibLayer(const DetId &id) const
unsigned int tidRing(const DetId &id) const
static const char tob_[]
unsigned int moduleNumber(align::ID) const
Module number increases with z from 1 to 8.
CaloTopology const * topology(0)
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
unsigned int ladderNumber(align::ID) const
unsigned int tecRing(const DetId &id) const
ring id
uint32_t ID
Definition: Definitions.h:26
const TrackerTopology * trackerTopology_
unsigned int pxbLadder(const DetId &id) const
unsigned int ringNumber(align::ID) const
Ring number increases with rho.
unsigned int petalNumber(align::ID) const
Petal number increases with phi from 1 to 8.
const TrackerTopology * trackerTopology_
TID(const TrackerTopology *)
unsigned int panelNumber(align::ID) const
Panel number is 1 for 4 modules, 2 for 3 modules.
unsigned int tidWheel(const DetId &id) const
unsigned int pxbModule(const DetId &id) const
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 3.
std::vector< unsigned int > tibStringInfo(const DetId &id) const
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 9.
unsigned int bladeNumber(align::ID) const
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 3.
unsigned int sideNumber(align::ID) const
Side number is 1 for back ring and 2 for front (towards IP).
unsigned int rodNumber(align::ID) const
Rod number increases with phi.
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
unsigned int bpqd_
no. of blades per quarter disk
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
const TrackerTopology * trackerTopology_
TrackerNameSpace(const TrackerTopology *)
unsigned int tidSide(const DetId &id) const
const TrackerTopology * trackerTopology_
std::vector< unsigned int > tobRodInfo(const DetId &id) const
TEC(const TrackerTopology *)
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at left side (-x) and 2 at right side (+x).
const TrackerTopology * trackerTopology_
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
TIB(const TrackerTopology *)
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 6.
unsigned int tibModule(const DetId &id) const
unsigned int pxfModule(const DetId &id) const
unsigned int moduleNumber(align::ID) const
Module number increases with rho; from 1 to 4.
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
unsigned int pxbLayer(const DetId &id) const
unsigned int tecModule(const DetId &id) const
TPE(const TrackerTopology *)
TPB(const TrackerTopology *)
unsigned int halfCylinderNumber(align::ID) const
Half cylinder number is 1 at left side (-x) and 2 at right side (+x).
unsigned int halfBarrelNumber(align::ID) const
HalfBarrel number is 1 at -z side and 2 at +z side.
static const char tib_[]
unsigned int surfaceNumber(align::ID) const
Surface number is 1 for inner and 2 for outer.
unsigned int halfDiskNumber(align::ID) const
Half disk number increases with |z| from 1 to 3.
unsigned int halfShellNumber(align::ID) const
Half shell number is 1 for bottom (-y) and 2 for top (+y).
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
double b
Definition: hdecay.h:120
unsigned int tobModule(const DetId &id) const
unsigned int moduleNumber(align::ID) const
Module number increases (decreases) with phi for +z (-z) endcap.
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 3.
const TrackerTopology * trackerTopology_
unsigned int pxfSide(const DetId &id) const
unsigned int endcapNumber(align::ID) const
Endcap number is 1 for -z and 2 for +z.
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 6.
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at -z side and 2 at +z side.
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
unsigned int moduleNumber(align::ID) const
Module number increases with phi.
unsigned int sideNumber(align::ID) const
Side number is 1 for back disk and 2 for front (towards IP).
unsigned int stringNumber(align::ID) const
unsigned int tecWheel(const DetId &id) const
unsigned int pxfPanel(const DetId &id) const
unsigned int pxfBlade(const DetId &id) const
unsigned int tobLayer(const DetId &id) const
unsigned int tecSide(const DetId &id) const