CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackerTopology.h
Go to the documentation of this file.
1 #ifndef TRACKERTOPOLOGY_H
2 #define TRACKERTOPOLOGY_H
3 
8 
9 #include <vector>
10 #include <string>
11 
12 //knower of all things tracker geometry
13 //flexible replacement for PXBDetId and friends
14 //to implement
15 // endcap pixel
16 
17 
19 
20  public:
21 
23  unsigned int layerStartBit_;
24  unsigned int ladderStartBit_;
25  unsigned int moduleStartBit_;
26  unsigned int layerMask_;
27  unsigned int ladderMask_;
28  unsigned int moduleMask_;
29  };
30 
32  unsigned int sideStartBit_;
33  unsigned int diskStartBit_;
34  unsigned int bladeStartBit_;
35  unsigned int panelStartBit_;
36  unsigned int moduleStartBit_;
37  unsigned int sideMask_;
38  unsigned int diskMask_;
39  unsigned int bladeMask_;
40  unsigned int panelMask_;
41  unsigned int moduleMask_;
42  };
43 
44  struct TECValues {
45  unsigned int sideStartBit_;
46  unsigned int wheelStartBit_;
47  unsigned int petal_fw_bwStartBit_;
48  unsigned int petalStartBit_;
49  unsigned int ringStartBit_;
50  unsigned int moduleStartBit_;
51  unsigned int sterStartBit_;
52  unsigned int sideMask_;
53  unsigned int wheelMask_;
54  unsigned int petal_fw_bwMask_;
55  unsigned int petalMask_;
56  unsigned int ringMask_;
57  unsigned int moduleMask_;
58  unsigned int sterMask_;
59  };
60 
61  struct TIBValues {
62  unsigned int layerStartBit_;
63  unsigned int str_fw_bwStartBit_;
64  unsigned int str_int_extStartBit_;
65  unsigned int strStartBit_;
66  unsigned int moduleStartBit_;
67  unsigned int sterStartBit_;
68 
69  unsigned int layerMask_;
70  unsigned int str_fw_bwMask_;
71  unsigned int str_int_extMask_;
72  unsigned int strMask_;
73  unsigned int moduleMask_;
74  unsigned int sterMask_;
75  };
76 
77  struct TIDValues {
78  unsigned int sideStartBit_;
79  unsigned int wheelStartBit_;
80  unsigned int ringStartBit_;
81  unsigned int module_fw_bwStartBit_;
82  unsigned int moduleStartBit_;
83  unsigned int sterStartBit_;
84  unsigned int sideMask_;
85  unsigned int wheelMask_;
86  unsigned int ringMask_;
87  unsigned int module_fw_bwMask_;
88  unsigned int moduleMask_;
89  unsigned int sterMask_;
90  };
91 
92  struct TOBValues {
93  unsigned int layerStartBit_;
94  unsigned int rod_fw_bwStartBit_;
95  unsigned int rodStartBit_;
96  unsigned int moduleStartBit_;
97  unsigned int sterStartBit_;
98  unsigned int layerMask_;
99  unsigned int rod_fw_bwMask_;
100  unsigned int rodMask_;
101  unsigned int moduleMask_;
102  unsigned int sterMask_;
103  };
104 
106  public:
107  explicit SameLayerComparator(const TrackerTopology *topo): topo_(topo) {}
108 
109  bool operator()(DetId i1, DetId i2) const {
110  if(i1.det() == i2.det() &&
111  i1.subdetId() == i2.subdetId() &&
112  topo_->side(i1) == topo_->side(i2) &&
113  topo_->layer(i1) == topo_->layer(i2)) {
114  return false;
115  }
116  return i1 < i2;
117  }
118 
119  bool operator()(uint32_t i1, uint32_t i2) const {
120  return operator()(DetId(i1), DetId(i2));
121  }
122  private:
124  };
125 
126 
127  TrackerTopology( const PixelBarrelValues& pxb, const PixelEndcapValues& pxf,
128  const TECValues& tecv, const TIBValues& tibv,
129  const TIDValues& tidv, const TOBValues& tobv);
130 
131  unsigned int side(const DetId &id) const;
132  unsigned int layer(const DetId &id) const;
133  unsigned int module(const DetId &id) const;
134 
135  // layer numbers
136  unsigned int pxbLayer(const DetId &id) const {
137  return int((id.rawId()>>pbVals_.layerStartBit_) & pbVals_.layerMask_);
138  }
139  unsigned int tobLayer(const DetId &id) const {
140  return int((id.rawId()>>tobVals_.layerStartBit_) & tobVals_.layerMask_);
141  }
142  unsigned int tibLayer(const DetId &id) const {
143  return int((id.rawId()>>tibVals_.layerStartBit_) & tibVals_.layerMask_);
144  }
145 
146 
147  //ladder
148  unsigned int pxbLadder(const DetId &id) const {
149  return ((id.rawId()>>pbVals_.ladderStartBit_) & pbVals_.ladderMask_) ;
150  }
151 
152  //module
153  unsigned int pxbModule(const DetId &id) const {
154  return ((id.rawId()>>pbVals_.moduleStartBit_)& pbVals_.moduleMask_);
155  }
156  unsigned int pxfModule(const DetId &id) const {
157  return int((id.rawId()>>pfVals_.moduleStartBit_) & pfVals_.moduleMask_);
158  }
159  unsigned int tobModule(const DetId &id) const {
160  return ((id.rawId()>>tobVals_.moduleStartBit_)& tobVals_.moduleMask_);
161  }
162  unsigned int tecModule(const DetId &id) const {
163  return ((id.rawId()>>tecVals_.moduleStartBit_) & tecVals_.moduleMask_);
164  }
165  unsigned int tibModule(const DetId &id) const {
166  return ((id.rawId()>>tibVals_.moduleStartBit_)& tibVals_.moduleMask_);
167  }
168  unsigned int tidModule(const DetId &id) const {
169  return ((id.rawId()>>tidVals_.moduleStartBit_)& tidVals_.moduleMask_);
170  }
171 
172 
173  //side
174  unsigned int tobSide(const DetId &id) const {
175  return ((id.rawId()>>tobVals_.rod_fw_bwStartBit_) & tobVals_.rod_fw_bwMask_);
176  }
177 
178  unsigned int tecSide(const DetId &id) const {
179  return ((id.rawId()>>tecVals_.sideStartBit_)&tecVals_.sideMask_);
180  }
181 
182  unsigned int tibSide(const DetId &id) const {
183  return ((id.rawId()>>tibVals_.str_fw_bwStartBit_) & tibVals_.str_fw_bwMask_);
184  }
185 
186  unsigned int tidSide(const DetId &id) const {
187  return ((id.rawId()>>tidVals_.sideStartBit_)&tidVals_.sideMask_);
188  }
189 
190  unsigned int pxfSide(const DetId &id) const {
191  return ((id.rawId()>>pfVals_.sideStartBit_)&pfVals_.sideMask_);
192  }
193 
194  //rod
195  unsigned int tobRod(const DetId &id) const {
196  return ((id.rawId()>>tobVals_.rodStartBit_) & tobVals_.rodMask_);
197  }
198 
199  //wheel
200  unsigned int tecWheel(const DetId &id) const {
201  return ((id.rawId()>>tecVals_.wheelStartBit_) & tecVals_.wheelMask_) ;
202  }
203  unsigned int tidWheel(const DetId &id) const {
204  return ((id.rawId()>>tidVals_.wheelStartBit_) & tidVals_.wheelMask_) ;
205  }
206 
207  //order
208  unsigned int tecOrder(const DetId &id) const {
209  return ((id.rawId()>>tecVals_.petal_fw_bwStartBit_) & tecVals_.petal_fw_bwMask_);
210  }
211  unsigned int tibOrder(const DetId &id) const {
212  return ((id.rawId()>>tibVals_.str_int_extStartBit_) & tibVals_.str_int_extMask_);
213  }
214  unsigned int tidOrder(const DetId &id) const {
215  return ((id.rawId()>>tidVals_.module_fw_bwStartBit_) & tidVals_.module_fw_bwMask_);
216  }
217 
218 
220  unsigned int tecRing(const DetId &id) const {
221  return ((id.rawId()>>tecVals_.ringStartBit_) & tecVals_.ringMask_) ;
222  }
223  unsigned int tidRing(const DetId &id) const {
224  return ((id.rawId()>>tidVals_.ringStartBit_) & tidVals_.ringMask_) ;
225  }
226 
227 
228  //petal
229  unsigned int tecPetalNumber(const DetId &id) const
230  { return ((id.rawId()>>tecVals_.petalStartBit_) & tecVals_.petalMask_);}
231 
232 
233 
234 
235  //misc tob
236  std::vector<unsigned int> tobRodInfo(const DetId &id) const {
237  std::vector<unsigned int> num;
238  num.push_back( tobSide(id) );
239  num.push_back( tobRod(id) );
240  return num ;
241  }
242 
243  bool tobIsDoubleSide(const DetId &id) const { return SiStripDetId(id).glued()==0 && (tobLayer(id)==1 || tobLayer(id)==2);}
244  bool tecIsDoubleSide(const DetId &id) const { return SiStripDetId(id).glued()==0 && (tecRing(id)==1 || tecRing(id)==2 || tecRing(id)==5);}
245  bool tibIsDoubleSide(const DetId &id) const { return SiStripDetId(id).glued()==0 && (tibLayer(id)==1 || tibLayer(id)==2);}
246  bool tidIsDoubleSide(const DetId &id) const { return SiStripDetId(id).glued()==0 && (tidRing(id)==1 || tidRing(id)==2);}
247 
248  bool tobIsZPlusSide(const DetId &id) const {return !tobIsZMinusSide(id);}
249  bool tobIsZMinusSide(const DetId &id) const { return tobSide(id)==1;}
250 
251  bool tibIsZPlusSide(const DetId &id) const {return !tibIsZMinusSide(id);}
252  bool tibIsZMinusSide(const DetId &id) const { return tibSide(id)==1;}
253 
254  bool tidIsZPlusSide(const DetId &id) const {return !tidIsZMinusSide(id);}
255  bool tidIsZMinusSide(const DetId &id) const { return tidSide(id)==1;}
256 
257  bool tecIsZPlusSide(const DetId &id) const {return !tecIsZMinusSide(id);}
258  bool tecIsZMinusSide(const DetId &id) const { return tecSide(id)==1;}
259 
260  //these are from the old TOB/TEC/TID/TIB DetId
261  bool tobIsStereo(const DetId &id) const {return tobStereo(id)!=0 && !tobIsDoubleSide(id);}
262  bool tecIsStereo(const DetId &id) const {return tecStereo(id)!=0 && !tecIsDoubleSide(id);}
263  bool tibIsStereo(const DetId &id) const {return tibStereo(id)!=0 && !tibIsDoubleSide(id);}
264  bool tidIsStereo(const DetId &id) const {return tidStereo(id)!=0 && !tidIsDoubleSide(id);}
265 
266  //these are clones of the old SiStripDetId
267  uint32_t tobStereo(const DetId &id) const {
268  return ( ((id.rawId() >>tobVals_.sterStartBit_ ) & tobVals_.sterMask_ ) == 1 ) ? 1 : 0;
269  }
270 
271  uint32_t tibStereo(const DetId &id) const {
272  return ( ((id.rawId() >>tibVals_.sterStartBit_ ) & tibVals_.sterMask_ ) == 1 ) ? 1 : 0;
273  }
274 
275  uint32_t tidStereo(const DetId &id) const {
276  return ( ((id.rawId() >>tidVals_.sterStartBit_ ) & tidVals_.sterMask_ ) == 1 ) ? 1 : 0;
277  }
278 
279  uint32_t tecStereo(const DetId &id) const {
280  return ( ((id.rawId() >>tecVals_.sterStartBit_ ) & tecVals_.sterMask_ ) == 1 ) ? 1 : 0;
281  }
282 
283  uint32_t tibGlued(const DetId &id) const {
284  uint32_t testId = (id.rawId()>>tibVals_.sterStartBit_) & tibVals_.sterMask_;
285  return ( testId == 0 ) ? 0 : (id.rawId() - testId);
286  }
287 
288  uint32_t tecGlued(const DetId &id) const {
289  uint32_t testId = (id.rawId()>>tecVals_.sterStartBit_) & tecVals_.sterMask_;
290  return ( testId == 0 ) ? 0 : (id.rawId() - testId);
291  }
292 
293  uint32_t tobGlued(const DetId &id) const {
294  uint32_t testId = (id.rawId()>>tobVals_.sterStartBit_) & tobVals_.sterMask_;
295  return ( testId == 0 ) ? 0 : (id.rawId() - testId);
296  }
297 
298  uint32_t tidGlued(const DetId &id) const {
299  uint32_t testId = (id.rawId()>>tidVals_.sterStartBit_) & tidVals_.sterMask_;
300  return ( testId == 0 ) ? 0 : (id.rawId() - testId);
301  }
302 
303  bool tobIsRPhi(const DetId &id) const { return SiStripDetId(id).stereo()==0 && !tobIsDoubleSide(id);}
304  bool tecIsRPhi(const DetId &id) const { return SiStripDetId(id).stereo()==0 && !tecIsDoubleSide(id);}
305  bool tibIsRPhi(const DetId &id) const { return SiStripDetId(id).stereo()==0 && !tibIsDoubleSide(id);}
306  bool tidIsRPhi(const DetId &id) const { return SiStripDetId(id).stereo()==0 && !tidIsDoubleSide(id);}
307 
308 
309  //misc tec
310  std::vector<unsigned int> tecPetalInfo(const DetId &id) const {
311  std::vector<unsigned int> num;
312  num.push_back(tecOrder(id));
313  num.push_back(tecPetalNumber(id));
314  return num ;
315  }
316 
317  bool tecIsBackPetal(const DetId &id) const {
318  return (tecOrder(id)==1);
319  }
320 
321  bool tecIsFrontPetal(const DetId &id) const {return !tecIsBackPetal(id);}
322 
323  //misc tib
324  unsigned int tibString(const DetId &id) const {
325  return (id.rawId()>>tibVals_.strStartBit_)&tibVals_.strMask_;
326  }
327 
328  std::vector<unsigned int> tibStringInfo(const DetId &id) const
329  { std::vector<unsigned int> num;
330  num.push_back( tibSide(id) );
331  num.push_back( tibOrder(id) );
332  num.push_back(tibString(id));
333  return num ;
334  }
335 
336  bool tibIsInternalString(const DetId &id) const {
337  return (tibOrder(id)==1);
338  }
339 
340  bool tibIsExternalString(const DetId &id) const {
341  return !tibIsInternalString(id);
342  }
343 
344  //misc tid
345  std::vector<unsigned int> tidModuleInfo(const DetId &id) const {
346  std::vector<unsigned int> num;
347  num.push_back( tidOrder(id) );
348  num.push_back( tidModule(id) );
349  return num ;
350  }
351 
352  bool tidIsBackRing(const DetId &id) const {
353  return (tidOrder(id)==1);
354  }
355 
356  bool tidIsFrontRing(const DetId &id) const {return !tidIsBackRing(id);}
357 
358 
359  //misc pf
360  unsigned int pxfDisk(const DetId &id) const {
361  return int((id.rawId()>>pfVals_.diskStartBit_) & pfVals_.diskMask_);
362  }
363  unsigned int pxfBlade(const DetId &id) const {
364  return int((id.rawId()>>pfVals_.bladeStartBit_) & pfVals_.bladeMask_);
365  }
366  unsigned int pxfPanel(const DetId &id) const {
367  return int((id.rawId()>>pfVals_.panelStartBit_) & pfVals_.panelMask_);
368  }
369 
370  //old constructors, now return DetId
371  DetId pxbDetId(uint32_t layer,
372  uint32_t ladder,
373  uint32_t module) const {
374  //uply
376  uint32_t rawid=id.rawId();
377  rawid |= (layer& pbVals_.layerMask_) << pbVals_.layerStartBit_ |
380  return DetId(rawid);
381  }
382 
383  DetId pxfDetId(uint32_t side,
384  uint32_t disk,
385  uint32_t blade,
386  uint32_t panel,
387  uint32_t module) const {
389  uint32_t rawid=id.rawId();
390  rawid |= (side& pfVals_.sideMask_) << pfVals_.sideStartBit_ |
395  return DetId(rawid);
396  }
397 
398  DetId tecDetId(uint32_t side, uint32_t wheel,
399  uint32_t petal_fw_bw, uint32_t petal,
400  uint32_t ring, uint32_t module, uint32_t ster) const {
401 
403  uint32_t rawid=id.rawId();
404 
405  rawid |= (side& tecVals_.sideMask_) << tecVals_.sideStartBit_ |
412  return DetId(rawid);
413  }
414 
415  DetId tibDetId(uint32_t layer,
416  uint32_t str_fw_bw,
417  uint32_t str_int_ext,
418  uint32_t str,
419  uint32_t module,
420  uint32_t ster) const {
422  uint32_t rawid=id.rawId();
423  rawid |= (layer& tibVals_.layerMask_) << tibVals_.layerStartBit_ |
429  return DetId(rawid);
430  }
431 
432  DetId tidDetId(uint32_t side,
433  uint32_t wheel,
434  uint32_t ring,
435  uint32_t module_fw_bw,
436  uint32_t module,
437  uint32_t ster) const {
439  uint32_t rawid=id.rawId();
440  rawid |= (side& tidVals_.sideMask_) << tidVals_.sideStartBit_ |
446  return DetId(rawid);
447  }
448 
449  DetId tobDetId(uint32_t layer,
450  uint32_t rod_fw_bw,
451  uint32_t rod,
452  uint32_t module,
453  uint32_t ster) const {
455  uint32_t rawid=id.rawId();
456  rawid |= (layer& tobVals_.layerMask_) << tobVals_.layerStartBit_ |
461  return DetId(rawid);
462  }
463 
464  std::pair<DetId, SameLayerComparator> pxbDetIdLayerComparator(uint32_t layer) const {
465  return std::make_pair(pxbDetId(layer, 1,1), SameLayerComparator(this));
466  }
467 
468  std::pair<DetId, SameLayerComparator> pxfDetIdDiskComparator(uint32_t side, uint32_t disk) const {
469  return std::make_pair(pxfDetId(side, disk, 1,1,1), SameLayerComparator(this));
470  }
471 
472  std::pair<DetId, SameLayerComparator> tecDetIdWheelComparator(uint32_t side, uint32_t wheel) const {
473  return std::make_pair(tecDetId(side, wheel, 1,1,1,1,1), SameLayerComparator(this));
474  }
475 
476  std::pair<DetId, SameLayerComparator> tibDetIdLayerComparator(uint32_t layer) const {
477  return std::make_pair(tibDetId(layer, 1,1,1,1,1), SameLayerComparator(this));
478  }
479 
480  std::pair<DetId, SameLayerComparator> tidDetIdWheelComparator(uint32_t side, uint32_t wheel) const {
481  return std::make_pair(tidDetId(side, wheel, 1,1,1,1), SameLayerComparator(this));
482  }
483 
484  std::pair<DetId, SameLayerComparator> tobDetIdLayerComparator(uint32_t layer) const {
485  return std::make_pair(tobDetId(layer, 1,1,1,1), SameLayerComparator(this));
486  }
487 
488  std::string print(DetId detid) const;
489 
491 
492  private:
493 
496 
501 
502 };
503 
504 #endif
505 
bool tecIsDoubleSide(const DetId &id) const
bool tobIsDoubleSide(const DetId &id) const
uint32_t tobGlued(const DetId &id) const
bool tibIsDoubleSide(const DetId &id) const
unsigned int tibLayer(const DetId &id) const
unsigned int tibString(const DetId &id) const
unsigned int tidRing(const DetId &id) const
std::pair< DetId, SameLayerComparator > pxfDetIdDiskComparator(uint32_t side, uint32_t disk) const
uint32_t stereo() const
Definition: SiStripDetId.h:176
bool tobIsStereo(const DetId &id) const
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
unsigned int pxfDisk(const DetId &id) const
unsigned int tecRing(const DetId &id) const
ring id
uint32_t tobStereo(const DetId &id) const
unsigned int pxbLadder(const DetId &id) const
unsigned int side(const DetId &id) const
uint32_t tecGlued(const DetId &id) const
bool tidIsFrontRing(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
unsigned int pxbModule(const DetId &id) const
SiStripDetId::ModuleGeometry moduleGeometry(const DetId &id) const
bool operator()(DetId i1, DetId i2) const
std::vector< unsigned int > tibStringInfo(const DetId &id) const
bool tobIsRPhi(const DetId &id) const
std::string print(DetId detid) const
DetId pxfDetId(uint32_t side, uint32_t disk, uint32_t blade, uint32_t panel, uint32_t module) const
std::pair< DetId, SameLayerComparator > tidDetIdWheelComparator(uint32_t side, uint32_t wheel) const
bool tecIsZMinusSide(const DetId &id) const
PixelEndcapValues pfVals_
bool tidIsStereo(const DetId &id) const
return((rh^lh)&mask)
bool tidIsZMinusSide(const DetId &id) const
bool tibIsZPlusSide(const DetId &id) const
unsigned int module(const DetId &id) const
bool tecIsStereo(const DetId &id) const
unsigned int tibSide(const DetId &id) const
bool tibIsExternalString(const DetId &id) const
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
bool tibIsRPhi(const DetId &id) const
std::pair< DetId, SameLayerComparator > tobDetIdLayerComparator(uint32_t layer) const
unsigned int tidSide(const DetId &id) const
PixelBarrelValues pbVals_
uint32_t tidStereo(const DetId &id) const
bool tibIsZMinusSide(const DetId &id) const
std::vector< unsigned int > tobRodInfo(const DetId &id) const
unsigned int tidModule(const DetId &id) const
bool tidIsBackRing(const DetId &id) const
std::pair< DetId, SameLayerComparator > tibDetIdLayerComparator(uint32_t layer) const
bool tobIsZPlusSide(const DetId &id) const
DetId tobDetId(uint32_t layer, uint32_t rod_fw_bw, uint32_t rod, uint32_t module, uint32_t ster) const
unsigned int tobSide(const DetId &id) const
DetId tidDetId(uint32_t side, uint32_t wheel, uint32_t ring, uint32_t module_fw_bw, uint32_t module, uint32_t ster) const
SameLayerComparator(const TrackerTopology *topo)
bool tobIsZMinusSide(const DetId &id) const
bool operator()(uint32_t i1, uint32_t i2) const
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
std::pair< DetId, SameLayerComparator > tecDetIdWheelComparator(uint32_t side, uint32_t wheel) const
bool tecIsRPhi(const DetId &id) const
unsigned int tibModule(const DetId &id) const
unsigned int pxfModule(const DetId &id) const
unsigned int pxbLayer(const DetId &id) const
unsigned int tecModule(const DetId &id) const
bool tecIsFrontPetal(const DetId &id) const
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
bool tecIsBackPetal(const DetId &id) const
Definition: DetId.h:18
uint32_t glued() const
Definition: SiStripDetId.h:171
bool tidIsRPhi(const DetId &id) const
uint32_t tibGlued(const DetId &id) const
bool tidIsZPlusSide(const DetId &id) const
unsigned int module_fw_bwStartBit_
DetId tibDetId(uint32_t layer, uint32_t str_fw_bw, uint32_t str_int_ext, uint32_t str, uint32_t module, uint32_t ster) const
bool tibIsStereo(const DetId &id) const
bool tidIsDoubleSide(const DetId &id) const
unsigned int tecOrder(const DetId &id) const
unsigned int tobModule(const DetId &id) const
unsigned int layer(const DetId &id) const
bool tecIsZPlusSide(const DetId &id) const
unsigned int tidOrder(const DetId &id) const
uint32_t tecStereo(const DetId &id) const
unsigned int pxfSide(const DetId &id) const
unsigned int tecPetalNumber(const DetId &id) const
DetId pxbDetId(uint32_t layer, uint32_t ladder, uint32_t module) const
unsigned int tobRod(const DetId &id) const
uint32_t tibStereo(const DetId &id) const
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
bool tibIsInternalString(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
std::pair< DetId, SameLayerComparator > pxbDetIdLayerComparator(uint32_t layer) const
DetId tecDetId(uint32_t side, uint32_t wheel, uint32_t petal_fw_bw, uint32_t petal, uint32_t ring, uint32_t module, uint32_t ster) const
Definition: vlib.h:208
TrackerTopology(const PixelBarrelValues &pxb, const PixelEndcapValues &pxf, const TECValues &tecv, const TIBValues &tibv, const TIDValues &tidv, const TOBValues &tobv)
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
unsigned int tibOrder(const DetId &id) const
uint32_t tidGlued(const DetId &id) const