CMS 3D CMS Logo

TrackerNameSpace.cc
Go to the documentation of this file.
2 
4 
5 //______________________________________________________________________________
7  : trackerTopology_(topology),
8  tpb_(topology),
9  tpe_(topology),
10  tib_(topology),
11  tob_(topology),
12  tid_(topology),
13  tec_(topology) {}
14 
15 //______________________________________________________________________________
16 align::TrackerNameSpace::TPB ::TPB(const TrackerTopology* topology) : trackerTopology_(topology) {}
17 
18 //______________________________________________________________________________
20 
21 //______________________________________________________________________________
23  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
24  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
25 
26  // Ladder in 1st quadrant: number = lpqc_ + 1 - l (1 to lpqc_)
27  // Ladder in 2nd quadrant: number = l - lpqc_ (1 to lpqc_)
28  // Ladder in 3rd quadrant: number = l - lpqc_ (lpqc_ + 1 to 2 * lpqc_)
29  // Ladder in 4th quadrant: number = 5 * lpqc_ + 1 - l (lpqc_ + 1 to 2 * lpqc_)
30 
31  return l > 3 * lpqc_[c] ? 5 * lpqc_[c] + 1 - l : // ladder in 4th quadrant
32  (l > lpqc_[c] ? l - lpqc_[c] : // ladder not in 1st quadrant
33  lpqc_[c] + 1 - l);
34 }
35 
36 //______________________________________________________________________________
38 
39 //______________________________________________________________________________
41  unsigned int l = trackerTopology_->pxbLadder(id); // increases with phi
42  unsigned int c = trackerTopology_->pxbLayer(id) - 1;
43 
44  return l > lpqc_[c] && l <= 3 * lpqc_[c] ? 1 : 2;
45 }
46 
47 //______________________________________________________________________________
48 unsigned int align::TrackerNameSpace::TPB ::barrelNumber(align::ID) const { return 1; }
49 
50 //______________________________________________________________________________
52 
54 
56 
58  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
59 
60  // Blade in 1st quadrant: number = bpqd_ + 1 - b (1 to bpqd_)
61  // Blade in 2nd quadrant: number = b - bpqd_ (1 to bpqd_)
62  // Blade in 3rd quadrant: number = b - bpqd_ (bpqd_ + 1 to 2 * bpqd_)
63  // Blade in 4th quadrant: number = 5 * bpqd_ + 1 - b (bpqd_ + 1 to 2 * bpqd_)
64 
65  return b > 3 * bpqd_ ? // blade in 4th quadrant
66  5 * bpqd_ + 1 - b
67  : (b > bpqd_ ? // blade not in 1st quadrant
68  b - bpqd_
69  : bpqd_ + 1 - b);
70 }
71 
73 
75  unsigned int b = trackerTopology_->pxfBlade(id); // 1 to 24 in increasing phi
76 
77  return b > bpqd_ && b <= 3 * bpqd_ ? 1 : 2;
78 }
79 
81 
83 
85 
87  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
88  // s[1]: surface lower = 1, upper = 2
89  // s[2]: string no. increases with phi
90 
91  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
92 
93  // String on +y surface: number = s (1 to sphs_)
94  // String in -y surface: number = 2 * sphs_ + 1 - s (1 to sphs_)
95 
96  return s[2] > sphs_[l] ? 2 * sphs_[l] + 1 - s[2] : s[2];
97 }
98 
100  return trackerTopology_->tibStringInfo(id)[1];
101 }
102 
104  std::vector<unsigned int> s = trackerTopology_->tibStringInfo(id);
105  // s[1]: surface lower = 1, upper = 2
106  // s[2]: string no. increases with phi
107 
108  unsigned int l = 2 * (trackerTopology_->tibLayer(id) - 1) + s[1] - 1;
109 
110  return s[2] > sphs_[l] ? 1 : 2;
111 }
112 
114 
116  return trackerTopology_->tibStringInfo(id)[0];
117 }
118 
120 
122 
124 
126  return trackerTopology_->tobRodInfo(id)[1];
127 }
128 
130 
132  return trackerTopology_->tobRodInfo(id)[0];
133 }
134 
136 
138 
140  return trackerTopology_->tidModuleInfo(id)[1];
141 }
142 
144  return trackerTopology_->tidModuleInfo(id)[0];
145 }
146 
148 
150 
152 
154 
156 
158 
160  return trackerTopology_->tecPetalInfo(id)[1];
161 }
162 
164  return trackerTopology_->tecPetalInfo(id)[0];
165 }
166 
168 
TOB(const TrackerTopology *)
unsigned int halfShellNumber(align::ID) const
Half shell number is 1 for bottom (-y) and 2 for top (+y).
unsigned int tobLayer(const DetId &id) const
unsigned int pxbLayer(const DetId &id) const
static const char tec_[]
unsigned int endcapNumber(align::ID) const
Endcap number is 1 for -z and 2 for +z.
unsigned int moduleNumber(align::ID) const
Module number increases with z from 1 to 8.
unsigned int stringNumber(align::ID) const
std::vector< unsigned int > tidModuleInfo(const DetId &id) const
static const char tob_[]
unsigned int pxfBlade(const DetId &id) const
unsigned int bladeNumber(align::ID) const
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 9.
unsigned int tibModule(const DetId &id) const
unsigned int tidSide(const DetId &id) const
unsigned int pxfModule(const DetId &id) const
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 3.
uint32_t ID
Definition: Definitions.h:24
unsigned int halfBarrelNumber(align::ID) const
HalfBarrel number is 1 at -z side and 2 at +z side.
std::vector< unsigned int > tecPetalInfo(const DetId &id) const
unsigned int tidWheel(const DetId &id) const
unsigned int tecWheel(const DetId &id) const
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 8.
unsigned int moduleNumber(align::ID) const
Module number increases with phi.
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 halfCylinderNumber(align::ID) const
Half cylinder number is 1 at left side (-x) and 2 at right side (+x).
unsigned int pxbLadder(const DetId &id) const
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 3.
unsigned int ringNumber(align::ID) const
Ring number increases with rho.
unsigned int tecRing(const DetId &id) const
ring id
unsigned int tecModule(const DetId &id) const
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
TrackerNameSpace(const TrackerTopology *)
unsigned int tecSide(const DetId &id) const
TEC(const TrackerTopology *)
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
unsigned int pxfDisk(const DetId &id) const
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 6.
TIB(const TrackerTopology *)
unsigned int halfDiskNumber(align::ID) const
Half disk number increases with |z| 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 pxfPanel(const DetId &id) const
TPE(const TrackerTopology *)
TPB(const TrackerTopology *)
unsigned int pxfSide(const DetId &id) const
std::vector< unsigned int > tibStringInfo(const DetId &id) const
static const char tib_[]
unsigned int moduleNumber(align::ID) const
Module number increases (decreases) with phi for +z (-z) endcap.
double b
Definition: hdecay.h:118
unsigned int petalNumber(align::ID) const
Petal number increases with phi from 1 to 8.
unsigned int surfaceNumber(align::ID) const
Surface number is 1 for inner and 2 for outer.
unsigned int sideNumber(align::ID) const
Side number is 1 for back disk and 2 for front (towards IP).
std::vector< unsigned int > tobRodInfo(const DetId &id) const
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
unsigned int moduleNumber(align::ID) const
Module number increases with rho; from 1 to 4.
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 6.
unsigned int tidRing(const DetId &id) const
unsigned int ringNumber(align::ID) const
Ring number increases with rho from 1 to 3.
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at -z side and 2 at +z side.
unsigned int tibLayer(const DetId &id) const
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 3.
unsigned int tobModule(const DetId &id) const
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID&#39;s which belong to this barrel.
unsigned int pxbModule(const DetId &id) const
unsigned int ladderNumber(align::ID) const
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at left side (-x) and 2 at right side (+x).