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 */
align::TrackerNameSpace::TPB::barrelNumber
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID's which belong to this barrel.
Definition: TrackerNameSpace.cc:48
align::TrackerNameSpace::TIB::layerNumber
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 8.
Definition: TrackerNameSpace.cc:113
align::TrackerNameSpace::tib_
TIB tib_
Definition: TrackerNameSpace.h:264
align::TrackerNameSpace::TOB
Definition: TrackerNameSpace.h:147
align::TrackerNameSpace::TID::operator=
TID & operator=(const TID &)=default
align::TrackerNameSpace::TEC::TEC
TEC(const TrackerTopology *)
Definition: TrackerNameSpace.cc:153
align::TrackerNameSpace::tid
const TID & tid() const
Definition: TrackerNameSpace.h:257
align::TrackerNameSpace::tob_
TOB tob_
Definition: TrackerNameSpace.h:265
align::TrackerNameSpace::TID::TID
TID(const TrackerTopology *)
Definition: TrackerNameSpace.cc:137
align::TrackerNameSpace::TPB::TPB
TPB(const TrackerTopology *)
Definition: TrackerNameSpace.cc:16
align::TrackerNameSpace::TPB::~TPB
virtual ~TPB()=default
align
Definition: AlignableIndexer.h:30
align::TrackerNameSpace::TOB::halfBarrelNumber
unsigned int halfBarrelNumber(align::ID) const
HalfBarrel number is 1 at -z side and 2 at +z side.
Definition: TrackerNameSpace.cc:131
align::TrackerNameSpace::operator=
TrackerNameSpace & operator=(const TrackerNameSpace &)=default
align::TrackerNameSpace::TEC::sideNumber
unsigned int sideNumber(align::ID) const
Side number is 1 for back disk and 2 for front (towards IP).
Definition: TrackerNameSpace.cc:163
align::TrackerNameSpace::TID::ringNumber
unsigned int ringNumber(align::ID) const
Ring number increases with rho from 1 to 3.
Definition: TrackerNameSpace.cc:147
align::TrackerNameSpace::TIB::~TIB
virtual ~TIB()=default
TrackerTopology
Definition: TrackerTopology.h:16
align::TrackerNameSpace::TPB::lpqc_
std::vector< unsigned int > lpqc_
Number of ladders for each quarter cylinder.
Definition: TrackerNameSpace.h:59
align::TrackerNameSpace::TPB::ladderNumber
unsigned int ladderNumber(align::ID) const
Definition: TrackerNameSpace.cc:22
align::TrackerNameSpace::TIB::surfaceNumber
unsigned int surfaceNumber(align::ID) const
Surface number is 1 for inner and 2 for outer.
Definition: TrackerNameSpace.cc:99
align::TrackerNameSpace::TIB::barrelNumber
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID's which belong to this barrel.
Definition: TrackerNameSpace.cc:119
align::TrackerNameSpace::tpe_
TPE tpe_
Definition: TrackerNameSpace.h:263
align::TrackerNameSpace::TIB::halfShellNumber
unsigned int halfShellNumber(align::ID) const
Half shell number is 1 for bottom (-y) and 2 for top (+y).
Definition: TrackerNameSpace.cc:103
align::TrackerNameSpace::TPE::bladeNumber
unsigned int bladeNumber(align::ID) const
Definition: TrackerNameSpace.cc:57
align::TrackerNameSpace::TPE::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:97
align::TrackerNameSpace::TPE::operator=
TPE & operator=(const TPE &)=default
TrackerAlignmentLevelBuilder
Definition: TrackerAlignmentLevelBuilder.h:24
align::TrackerNameSpace::TID::sideNumber
unsigned int sideNumber(align::ID) const
Side number is 1 for back ring and 2 for front (towards IP).
Definition: TrackerNameSpace.cc:143
align::TrackerNameSpace::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:261
align::TrackerNameSpace::TEC::petalNumber
unsigned int petalNumber(align::ID) const
Petal number increases with phi from 1 to 8.
Definition: TrackerNameSpace.cc:159
align::TrackerNameSpace::TID::~TID
virtual ~TID()=default
align::TrackerNameSpace
Definition: TrackerNameSpace.h:10
align::TrackerNameSpace::tob
const TOB & tob() const
Definition: TrackerNameSpace.h:256
align::TrackerNameSpace::tib
const TIB & tib() const
Definition: TrackerNameSpace.h:255
align::TrackerNameSpace::TEC
Definition: TrackerNameSpace.h:215
align::TrackerNameSpace::TID
Definition: TrackerNameSpace.h:181
align::TrackerNameSpace::TID::diskNumber
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 3.
Definition: TrackerNameSpace.cc:149
align::TrackerNameSpace::TPE::~TPE
virtual ~TPE()=default
align::TrackerNameSpace::TrackerNameSpace
TrackerNameSpace(const TrackerTopology *)
Definition: TrackerNameSpace.cc:6
align::TrackerNameSpace::TOB::layerNumber
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 6.
Definition: TrackerNameSpace.cc:129
align::TrackerNameSpace::TPE
Definition: TrackerNameSpace.h:62
align::TrackerNameSpace::TPB::halfBarrelNumber
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at left side (-x) and 2 at right side (+x).
Definition: TrackerNameSpace.cc:40
align::TrackerNameSpace::TPE::halfCylinderNumber
unsigned int halfCylinderNumber(align::ID) const
Half cylinder number is 1 at left side (-x) and 2 at right side (+x).
Definition: TrackerNameSpace.cc:74
align::TrackerNameSpace::TPE::panelNumber
unsigned int panelNumber(align::ID) const
Panel number is 1 for 4 modules, 2 for 3 modules.
Definition: TrackerNameSpace.cc:55
align::TrackerNameSpace::trackerTopology
const TrackerTopology * trackerTopology() const
Definition: TrackerNameSpace.h:252
align::TrackerNameSpace::TOB::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 6.
Definition: TrackerNameSpace.cc:123
align::TrackerNameSpace::TPB
Definition: TrackerNameSpace.h:24
align::TrackerNameSpace::TOB::rodNumber
unsigned int rodNumber(align::ID) const
Rod number increases with phi.
Definition: TrackerNameSpace.cc:125
align::TrackerNameSpace::TPE::TPE
TPE(const TrackerTopology *)
Definition: TrackerNameSpace.cc:51
align::TrackerNameSpace::TEC::endcapNumber
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
Definition: TrackerNameSpace.cc:169
align::TrackerNameSpace::TEC::diskNumber
unsigned int diskNumber(align::ID) const
Disk number increases with |z| from 1 to 9.
Definition: TrackerNameSpace.cc:167
align::ID
uint32_t ID
Definition: Definitions.h:24
align::TrackerNameSpace::tid_
TID tid_
Definition: TrackerNameSpace.h:266
align::TrackerNameSpace::TPB::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases with z from 1 to 8.
Definition: TrackerNameSpace.cc:19
align::TrackerNameSpace::TPB::operator=
TPB & operator=(const TPB &)=default
align::TrackerNameSpace::TPB::layerNumber
unsigned int layerNumber(align::ID) const
Layer number increases with rho from 1 to 3.
Definition: TrackerNameSpace.cc:37
align::TrackerNameSpace::TIB::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases with |z| from 1 to 3.
Definition: TrackerNameSpace.cc:84
Definitions.h
align::TrackerNameSpace::TIB::sphs_
std::vector< unsigned int > sphs_
Number of strings for each surface of a half shell.
Definition: TrackerNameSpace.h:144
align::TrackerNameSpace::~TrackerNameSpace
virtual ~TrackerNameSpace()=default
align::TrackerNameSpace::TIB
Definition: TrackerNameSpace.h:103
align::TrackerNameSpace::TIB::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:141
align::TrackerNameSpace::TIB::halfBarrelNumber
unsigned int halfBarrelNumber(align::ID) const
Half barrel number is 1 at -z side and 2 at +z side.
Definition: TrackerNameSpace.cc:115
align::TrackerNameSpace::TIB::stringNumber
unsigned int stringNumber(align::ID) const
Definition: TrackerNameSpace.cc:86
align::TrackerNameSpace::tpe
const TPE & tpe() const
Definition: TrackerNameSpace.h:254
align::TrackerNameSpace::tec
const TEC & tec() const
Definition: TrackerNameSpace.h:258
align::TrackerNameSpace::TIB::operator=
TIB & operator=(const TIB &)=default
align::TrackerNameSpace::TOB::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:178
align::TrackerNameSpace::TPE::endcapNumber
unsigned int endcapNumber(align::ID) const
Endcap number is 1 for -z and 2 for +z.
Definition: TrackerNameSpace.cc:80
align::TrackerNameSpace::tpb
const TPB & tpb() const
Definition: TrackerNameSpace.h:253
align::TrackerNameSpace::TID::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases with phi.
Definition: TrackerNameSpace.cc:139
align::TrackerNameSpace::TPE::halfDiskNumber
unsigned int halfDiskNumber(align::ID) const
Half disk number increases with |z| from 1 to 3.
Definition: TrackerNameSpace.cc:72
align::TrackerNameSpace::TEC::~TEC
virtual ~TEC()=default
align::TrackerNameSpace::TEC::operator=
TEC & operator=(const TEC &)=default
align::TrackerNameSpace::TPE::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases with rho; from 1 to 4.
Definition: TrackerNameSpace.cc:53
align::TrackerNameSpace::TOB::operator=
TOB & operator=(const TOB &)=default
align::TrackerNameSpace::TPB::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:56
align::TrackerNameSpace::TOB::TOB
TOB(const TrackerTopology *)
Definition: TrackerNameSpace.cc:121
align::TrackerNameSpace::TEC::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:249
align::TrackerNameSpace::TEC::ringNumber
unsigned int ringNumber(align::ID) const
Ring number increases with rho.
Definition: TrackerNameSpace.cc:157
align::TrackerNameSpace::tec_
TEC tec_
Definition: TrackerNameSpace.h:267
align::TrackerNameSpace::tpb_
TPB tpb_
Definition: TrackerNameSpace.h:262
align::TrackerNameSpace::TIB::TIB
TIB(const TrackerTopology *)
Definition: TrackerNameSpace.cc:82
align::TrackerNameSpace::TOB::~TOB
virtual ~TOB()=default
align::TrackerNameSpace::TID::trackerTopology_
const TrackerTopology * trackerTopology_
Definition: TrackerNameSpace.h:212
align::TrackerNameSpace::TEC::moduleNumber
unsigned int moduleNumber(align::ID) const
Module number increases (decreases) with phi for +z (-z) endcap.
Definition: TrackerNameSpace.cc:155
align::TrackerNameSpace::TID::endcapNumber
unsigned int endcapNumber(align::ID) const
Endcap number is 1 at -z side and 2 at +z side.
Definition: TrackerNameSpace.cc:151
align::TrackerNameSpace::TOB::barrelNumber
unsigned int barrelNumber(align::ID) const
Barrel number is 1 for all align::ID's which belong to this barrel.
Definition: TrackerNameSpace.cc:135
align::TrackerNameSpace::TPE::bpqd_
unsigned int bpqd_
no. of blades per quarter disk
Definition: TrackerNameSpace.h:100