CMS 3D CMS Logo

TrackerNameSpace.h
Go to the documentation of this file.
1 #ifndef Alignment_TrackerAlignment_TrackerNameSpace_H
2 #define Alignment_TrackerAlignment_TrackerNameSpace_H
3 
5 
6 
7 class TrackerTopology;
9 
10 namespace align {
12 
14  friend class ::TrackerAlignmentLevelBuilder;
15 
16  public:
18 
19  TrackerNameSpace(const TrackerNameSpace&) = default;
20  TrackerNameSpace& operator=(const TrackerNameSpace&) = default;
23 
24  virtual ~TrackerNameSpace() = default;
25 
26  class TPB {
28  friend class TrackerNameSpace;
29 
31  friend class ::TrackerAlignmentLevelBuilder;
32 
33  public:
34  TPB(const TrackerTopology*);
35  TPB(const TPB&) = default;
36  TPB& operator=(const TPB&) = default;
37  TPB(TPB&&) = default;
38  TPB& operator=(TPB&&) = default;
39  virtual ~TPB() = default;
40 
42  unsigned int moduleNumber(align::ID) const;
43 
46  unsigned int ladderNumber(align::ID) const;
47 
49  unsigned int layerNumber(align::ID) const;
50 
52  unsigned int halfBarrelNumber(align::ID) const;
53 
55  unsigned int barrelNumber(align::ID) const;
56 
57  private:
59 
61  std::vector<unsigned int> lpqc_;
62  };
63 
64  class TPE {
66  friend class TrackerNameSpace;
67 
69  friend class ::TrackerAlignmentLevelBuilder;
70 
71  public:
72  TPE(const TrackerTopology*);
73  TPE(const TPE&) = default;
74  TPE& operator=(const TPE&) = default;
75  TPE(TPE&&) = default;
76  TPE& operator=(TPE&&) = default;
77  virtual ~TPE() = default;
78 
80  unsigned int moduleNumber(align::ID) const;
81 
83  unsigned int panelNumber(align::ID) const;
84 
87  unsigned int bladeNumber(align::ID) const;
88 
90  unsigned int halfDiskNumber(align::ID) const;
91 
93  unsigned int halfCylinderNumber(align::ID) const;
94 
96  unsigned int endcapNumber(align::ID) const;
97 
98  private:
100 
102  unsigned int bpqd_;
103  };
104 
105  class TIB {
107  friend class TrackerNameSpace;
108 
110  friend class ::TrackerAlignmentLevelBuilder;
111 
112  public:
113  TIB(const TrackerTopology*);
114  TIB(const TIB&) = default;
115  TIB& operator=(const TIB&) = default;
116  TIB(TIB&&) = default;
117  TIB& operator=(TIB&&) = default;
118  virtual ~TIB() = default;
119 
121  unsigned int moduleNumber(align::ID) const;
122 
125  unsigned int stringNumber(align::ID) const;
126 
128  unsigned int surfaceNumber(align::ID) const;
129 
131  unsigned int halfShellNumber(align::ID) const;
132 
134  unsigned int layerNumber(align::ID) const;
135 
137  unsigned int halfBarrelNumber(align::ID) const;
138 
140  unsigned int barrelNumber(align::ID) const;
141 
142  private:
144 
146  std::vector<unsigned int> sphs_;
147 
148  };
149 
150  class TOB {
152  friend class TrackerNameSpace;
153 
155  friend class ::TrackerAlignmentLevelBuilder;
156 
157  public:
158  TOB(const TrackerTopology*);
159  TOB(const TOB&) = default;
160  TOB& operator=(const TOB&) = default;
161  TOB(TOB&&) = default;
162  TOB& operator=(TOB&&) = default;
163  virtual ~TOB() = default;
164 
166  unsigned int moduleNumber(align::ID) const;
167 
169  unsigned int rodNumber(align::ID) const;
170 
172  unsigned int layerNumber(align::ID) const;
173 
175  unsigned int halfBarrelNumber(align::ID) const;
176 
178  unsigned int barrelNumber(align::ID) const;
179 
180  private:
182  };
183 
184  class TID {
186  friend class TrackerNameSpace;
187 
189  friend class ::TrackerAlignmentLevelBuilder;
190 
191  public:
192  TID(const TrackerTopology*);
193  TID(const TID&) = default;
194  TID& operator=(const TID&) = default;
195  TID(TID&&) = default;
196  TID& operator=(TID&&) = default;
197  virtual ~TID() = default;
198 
200  unsigned int moduleNumber(align::ID) const;
201 
203  unsigned int sideNumber(align::ID) const;
204 
206  unsigned int ringNumber(align::ID) const;
207 
209  unsigned int diskNumber(align::ID) const;
210 
212  unsigned int endcapNumber(align::ID) const;
213  private:
215  };
216 
217  class TEC {
219  friend class TrackerNameSpace;
220 
222  friend class ::TrackerAlignmentLevelBuilder;
223 
224  public:
225  TEC(const TrackerTopology*);
226  TEC(const TEC&) = default;
227  TEC& operator=(const TEC&) = default;
228  TEC(TEC&&) = default;
229  TEC& operator=(TEC&&) = default;
230  virtual ~TEC() = default;
231 
233  unsigned int moduleNumber(align::ID) const;
234 
236  unsigned int ringNumber(align::ID) const;
237 
239  unsigned int petalNumber(align::ID) const;
240 
242  unsigned int sideNumber(align::ID) const;
243 
245  unsigned int diskNumber(align::ID) const;
246 
248  unsigned int endcapNumber(align::ID) const;
249 
250  private:
252  };
253 
254 
256  const TPB& tpb() const { return tpb_; }
257  const TPE& tpe() const { return tpe_; }
258  const TIB& tib() const { return tib_; }
259  const TOB& tob() const { return tob_; }
260  const TID& tid() const { return tid_; }
261  const TEC& tec() const { return tec_; }
262 
263  private:
271  };
272 };
273 #endif /* Alignment_TrackerAlignment_TrackerNameSpace_H */
const TIB & tib() const
const TrackerTopology * trackerTopology_
const TPB & tpb() const
TrackerNameSpace & operator=(const TrackerNameSpace &)=default
virtual ~TrackerNameSpace()=default
const TPE & tpe() const
unsigned int moduleNumber(align::ID) const
Module number increases with z from 1 to 8.
unsigned int ladderNumber(align::ID) const
uint32_t ID
Definition: Definitions.h:26
const TrackerTopology * trackerTopology_
const TrackerTopology * trackerTopology_
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
const TEC & tec() const
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 3.
unsigned int bpqd_
no. of blades per quarter disk
const TrackerTopology * trackerTopology_
TrackerNameSpace(const TrackerTopology *)
const TrackerTopology * 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_
const TOB & tob() const
TPB(const TrackerTopology *)
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.
const TrackerTopology * trackerTopology_
const TID & tid() const
TPB & operator=(const TPB &)=default
const TrackerTopology * trackerTopology() const