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 class TrackerTopology;
8 
9 namespace align {
12  friend class ::TrackerAlignmentLevelBuilder;
13 
14  public:
16 
17  TrackerNameSpace(const TrackerNameSpace&) = default;
18  TrackerNameSpace& operator=(const TrackerNameSpace&) = default;
21 
22  virtual ~TrackerNameSpace() = default;
23 
24  class TPB {
26  friend class TrackerNameSpace;
27 
29  friend class ::TrackerAlignmentLevelBuilder;
30 
31  public:
32  TPB(const TrackerTopology*);
33  TPB(const TPB&) = default;
34  TPB& operator=(const TPB&) = default;
35  TPB(TPB&&) = default;
36  TPB& operator=(TPB&&) = default;
37  virtual ~TPB() = default;
38 
40  unsigned int moduleNumber(align::ID) const;
41 
44  unsigned int ladderNumber(align::ID) const;
45 
47  unsigned int layerNumber(align::ID) const;
48 
50  unsigned int halfBarrelNumber(align::ID) const;
51 
53  unsigned int barrelNumber(align::ID) const;
54 
55  private:
57 
59  std::vector<unsigned int> lpqc_;
60  };
61 
62  class TPE {
64  friend class TrackerNameSpace;
65 
67  friend class ::TrackerAlignmentLevelBuilder;
68 
69  public:
70  TPE(const TrackerTopology*);
71  TPE(const TPE&) = default;
72  TPE& operator=(const TPE&) = default;
73  TPE(TPE&&) = default;
74  TPE& operator=(TPE&&) = default;
75  virtual ~TPE() = default;
76 
78  unsigned int moduleNumber(align::ID) const;
79 
81  unsigned int panelNumber(align::ID) const;
82 
85  unsigned int bladeNumber(align::ID) const;
86 
88  unsigned int halfDiskNumber(align::ID) const;
89 
91  unsigned int halfCylinderNumber(align::ID) const;
92 
94  unsigned int endcapNumber(align::ID) const;
95 
96  private:
98 
100  unsigned int bpqd_;
101  };
102 
103  class TIB {
105  friend class TrackerNameSpace;
106 
108  friend class ::TrackerAlignmentLevelBuilder;
109 
110  public:
111  TIB(const TrackerTopology*);
112  TIB(const TIB&) = default;
113  TIB& operator=(const TIB&) = default;
114  TIB(TIB&&) = default;
115  TIB& operator=(TIB&&) = default;
116  virtual ~TIB() = default;
117 
119  unsigned int moduleNumber(align::ID) const;
120 
123  unsigned int stringNumber(align::ID) const;
124 
126  unsigned int surfaceNumber(align::ID) const;
127 
129  unsigned int halfShellNumber(align::ID) const;
130 
132  unsigned int layerNumber(align::ID) const;
133 
135  unsigned int halfBarrelNumber(align::ID) const;
136 
138  unsigned int barrelNumber(align::ID) const;
139 
140  private:
142 
144  std::vector<unsigned int> sphs_;
145  };
146 
147  class TOB {
149  friend class TrackerNameSpace;
150 
152  friend class ::TrackerAlignmentLevelBuilder;
153 
154  public:
155  TOB(const TrackerTopology*);
156  TOB(const TOB&) = default;
157  TOB& operator=(const TOB&) = default;
158  TOB(TOB&&) = default;
159  TOB& operator=(TOB&&) = default;
160  virtual ~TOB() = default;
161 
163  unsigned int moduleNumber(align::ID) const;
164 
166  unsigned int rodNumber(align::ID) const;
167 
169  unsigned int layerNumber(align::ID) const;
170 
172  unsigned int halfBarrelNumber(align::ID) const;
173 
175  unsigned int barrelNumber(align::ID) const;
176 
177  private:
179  };
180 
181  class TID {
183  friend class TrackerNameSpace;
184 
186  friend class ::TrackerAlignmentLevelBuilder;
187 
188  public:
189  TID(const TrackerTopology*);
190  TID(const TID&) = default;
191  TID& operator=(const TID&) = default;
192  TID(TID&&) = default;
193  TID& operator=(TID&&) = default;
194  virtual ~TID() = default;
195 
197  unsigned int moduleNumber(align::ID) const;
198 
200  unsigned int sideNumber(align::ID) const;
201 
203  unsigned int ringNumber(align::ID) const;
204 
206  unsigned int diskNumber(align::ID) const;
207 
209  unsigned int endcapNumber(align::ID) const;
210 
211  private:
213  };
214 
215  class TEC {
217  friend class TrackerNameSpace;
218 
220  friend class ::TrackerAlignmentLevelBuilder;
221 
222  public:
223  TEC(const TrackerTopology*);
224  TEC(const TEC&) = default;
225  TEC& operator=(const TEC&) = default;
226  TEC(TEC&&) = default;
227  TEC& operator=(TEC&&) = default;
228  virtual ~TEC() = default;
229 
231  unsigned int moduleNumber(align::ID) const;
232 
234  unsigned int ringNumber(align::ID) const;
235 
237  unsigned int petalNumber(align::ID) const;
238 
240  unsigned int sideNumber(align::ID) const;
241 
243  unsigned int diskNumber(align::ID) const;
244 
246  unsigned int endcapNumber(align::ID) const;
247 
248  private:
250  };
251 
253  const TPB& tpb() const { return tpb_; }
254  const TPE& tpe() const { return tpe_; }
255  const TIB& tib() const { return tib_; }
256  const TOB& tob() const { return tob_; }
257  const TID& tid() const { return tid_; }
258  const TEC& tec() const { return tec_; }
259 
260  private:
268  };
269 }; // namespace align
270 #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:24
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