ATLAS Offline Software
SiNumerology.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SiNumerology.h
8 // (c) ATLAS Detector software
10 
11 
12 #ifndef INDETREADOUTGEOMETRY_SINUMEROLOGY_H
13 #define INDETREADOUTGEOMETRY_SINUMEROLOGY_H
14 
15 #include <vector>
16 
17 namespace InDetDD {
18 
27  class SiNumerology {
28 
29 
30  public:
31 
33  SiNumerology();
34 
35  // Accessors:
36 
38  int numBarrels() const;
39 
41  int numEndcaps() const;
42 
44  int barrelId(int index) const;
45 
47  int endcapId(int index) const;
48 
50  int numLayers() const;
51 
54  int numDiskLayers() const;
55 
57  int numDisks() const;
58 
60  int numRingsForDisk(int disk) const;
61 
63  int numPhiModulesForLayer(int layer) const;
64 
66  int numPhiModulesForDiskRing(int disk, int ring) const;
67 
69  int numEtaModulesForLayer(int layer) const;
70 
72  int numDisksForLayer(int layer) const;
73 
75  int numPhiModulesForLayerDisk(int layer, int disk) const;
76 
78  int beginEtaModuleForLayer(int layer) const;
79 
81  int endEtaModuleForLayer(int layer) const;
82 
84  bool skipEtaZeroForLayer(int layer) const;
85 
86  // Check presence of layer/disk
88  bool useLayer(int layer) const;
89 
91  bool useDiskLayer(int layer) const;
92 
94  bool useDisk(int disk) const;
95 
96  // Maximums
98  int maxNumBarrelEta() const;
99 
101  int maxNumEndcapRings() const;
102 
104  int maxNumStrips() const;
105 
107  int maxNumPhiCells() const;
108 
110  int maxNumEtaCells() const;
111 
112  // Modifiers:
113  void addBarrel(int id);
114  void addEndcap(int id);
115  void setNumLayers(int nLayers);
116  void setNumDiskLayers(int nLayers);
117  void setNumDisks(int nDisks);
118  void setNumRingsForDisk(int disk, int nRings);
119  void setNumPhiModulesForLayer(int layer, int nPhiModules);
120  void setNumPhiModulesForDiskRing(int disk, int ring, int nPhiModules);
121  void setNumEtaModulesForLayer(int layer, int nEtaModules);
122  void setNumDisksForLayer(int layer, int nDisks);
123  void setNumPhiModulesForLayerDisk(int layer, int disk, int nPhiModules);
124  void setMaxNumEtaCells(int cells);
125  void setMaxNumPhiCells(int cells);
126 
127  // DBM
128  int numDisksDBM() const;
129  int numBarrelDBM() const;
130  bool useDiskDBM(int disk) const;
131  int numRingsForDiskDBM(int currentdisk) const;
132  int numPhiModulesForDiskRingDBM(int disk, int ring) const;
133  int numEndcapsDBM() const;
134  int endcapIdDBM(int index) const;
135 
136  void setNumDisksDBM(int nDisks);
137  void setNumBarrelDBM(int nBarrel);
138  void setNumPhiModulesForDiskRingDBM(int disk, int ring, int nPhiModules);
139  void addEndcapDBM(int id);
140 
141  private:
142 
153 
154  std::vector<int> m_barrelIds;
155  std::vector<int> m_endcapIds;
156  std::vector<int> m_phiModulesForLayer;
157  std::vector<int> m_ringsForDisk;
158  std::vector<std::vector<int> > m_phiModulesForDiskRing;
159  std::vector<int> m_etaModulesForLayer;
160  std::vector<int> m_disksForLayer;
161  std::vector<std::vector<int> > m_phiModulesForLayerDisk;
162 
165  std::vector<int> m_endcapIdsDBM;
166  std::vector<std::vector<int> > m_phiModulesForDiskRingDBM;
168  };
169 
170 }// End namespace
171 
172 #include "SiNumerology.icc"
173 
174 #endif // INDETREADOUTGEOMETRY_SINUMEROLOGY_H
InDetDD::SiNumerology::setNumRingsForDisk
void setNumRingsForDisk(int disk, int nRings)
Definition: SiNumerology.cxx:48
InDetDD::SiNumerology::m_maxNumBarrelEta
int m_maxNumBarrelEta
Definition: SiNumerology.h:148
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
InDetDD::SiNumerology::m_numDisks
int m_numDisks
Definition: SiNumerology.h:145
InDetDD::SiNumerology::numEndcapsDBM
int numEndcapsDBM() const
InDetDD::SiNumerology::m_endcapIds
std::vector< int > m_endcapIds
Definition: SiNumerology.h:155
InDetDD::SiNumerology::setNumLayers
void setNumLayers(int nLayers)
Definition: SiNumerology.cxx:27
index
Definition: index.py:1
InDetDD::SiNumerology::addEndcap
void addEndcap(int id)
Definition: SiNumerology.cxx:102
InDetDD::SiNumerology::useLayer
bool useLayer(int layer) const
Check if layer exists.
InDetDD::SiNumerology::m_maxNumEndcapPhiModulesDBM
int m_maxNumEndcapPhiModulesDBM
Definition: SiNumerology.h:167
InDetDD::SiNumerology::setNumDisksForLayer
void setNumDisksForLayer(int layer, int nDisks)
Definition: SiNumerology.cxx:73
InDetDD::SiNumerology::setMaxNumEtaCells
void setMaxNumEtaCells(int cells)
Definition: SiNumerology.cxx:91
InDetDD::SiNumerology::m_maxNumBarrelPhiModules
int m_maxNumBarrelPhiModules
Definition: SiNumerology.h:151
InDetDD::SiNumerology::numBarrelDBM
int numBarrelDBM() const
InDetDD::SiNumerology::m_maxNumEndcapDisks
int m_maxNumEndcapDisks
Definition: SiNumerology.h:149
InDetDD::SiNumerology::m_phiModulesForDiskRing
std::vector< std::vector< int > > m_phiModulesForDiskRing
Definition: SiNumerology.h:158
InDetDD::SiNumerology::numPhiModulesForDiskRing
int numPhiModulesForDiskRing(int disk, int ring) const
Number of sectors in phi for a ring in a disk.
InDetDD::SiNumerology::skipEtaZeroForLayer
bool skipEtaZeroForLayer(int layer) const
Check if eta_module=0 exists.
InDetDD::SiNumerology::setNumDisksDBM
void setNumDisksDBM(int nDisks)
Definition: SiNumerology.cxx:108
InDetDD::SiNumerology::numRingsForDiskDBM
int numRingsForDiskDBM(int currentdisk) const
InDetDD::SiNumerology::m_disksForLayer
std::vector< int > m_disksForLayer
Definition: SiNumerology.h:160
InDetDD::SiNumerology::m_phiModulesForLayerDisk
std::vector< std::vector< int > > m_phiModulesForLayerDisk
Definition: SiNumerology.h:161
InDetDD::SiNumerology::useDiskDBM
bool useDiskDBM(int disk) const
InDetDD::SiNumerology::m_numLayers
int m_numLayers
Definition: SiNumerology.h:143
InDetDD::SiNumerology::numPhiModulesForLayerDisk
int numPhiModulesForLayerDisk(int layer, int disk) const
Number of sectors in phi for a disk in a layer (ITk endcap-specific)
InDetDD::SiNumerology::endcapIdDBM
int endcapIdDBM(int index) const
InDetDD::SiNumerology::m_maxNumEndcapRings
int m_maxNumEndcapRings
Definition: SiNumerology.h:150
InDetDD::SiNumerology::endEtaModuleForLayer
int endEtaModuleForLayer(int layer) const
Last eta_module number + 1.
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
InDetDD::SiNumerology::numDisksDBM
int numDisksDBM() const
InDetDD::SiNumerology::setMaxNumPhiCells
void setMaxNumPhiCells(int cells)
Definition: SiNumerology.cxx:86
InDetDD::SiNumerology::numDiskLayers
int numDiskLayers() const
Number of disk layers (ITk endcap-specific)
SiNumerology.icc
InDetDD::SiNumerology::endcapId
int endcapId(int index) const
Barrel/endcap identifier for each endcap.
InDetDD::SiNumerology::useDisk
bool useDisk(int disk) const
Check if disk exists.
InDetDD::SiNumerology::numDisks
int numDisks() const
Number of disks.
InDetDD::SiNumerology::maxNumStrips
int maxNumStrips() const
Maximum number of strips.
InDetDD::SiNumerology::numLayers
int numLayers() const
Number of layers.
InDetDD::SiNumerology::numBarrels
int numBarrels() const
Number of barrels.
InDetDD::SiNumerology::m_etaModulesForLayer
std::vector< int > m_etaModulesForLayer
Definition: SiNumerology.h:159
InDetDD::SiNumerology::setNumBarrelDBM
void setNumBarrelDBM(int nBarrel)
Definition: SiNumerology.cxx:125
InDetDD::SiNumerology::m_maxNumEndcapPhiModules
int m_maxNumEndcapPhiModules
Definition: SiNumerology.h:152
InDetDD::SiNumerology::maxNumBarrelEta
int maxNumBarrelEta() const
Maximum number of modules in a barrel stave.
InDetDD::SiNumerology::setNumDisks
void setNumDisks(int nDisks)
Definition: SiNumerology.cxx:41
InDetDD::SiNumerology::setNumPhiModulesForDiskRing
void setNumPhiModulesForDiskRing(int disk, int ring, int nPhiModules)
Definition: SiNumerology.cxx:55
InDetDD::SiNumerology::setNumEtaModulesForLayer
void setNumEtaModulesForLayer(int layer, int nEtaModules)
Definition: SiNumerology.cxx:67
InDetDD::SiNumerology::numEndcaps
int numEndcaps() const
Number of endcaps.
InDetDD::SiNumerology::SiNumerology
SiNumerology()
Constructor:
Definition: SiNumerology.cxx:10
InDetDD::SiNumerology
Definition: SiNumerology.h:27
InDetDD::SiNumerology::m_maxPhiCells
int m_maxPhiCells
Definition: SiNumerology.h:146
InDetDD::SiNumerology::numPhiModulesForDiskRingDBM
int numPhiModulesForDiskRingDBM(int disk, int ring) const
InDetDD::SiNumerology::m_phiModulesForLayer
std::vector< int > m_phiModulesForLayer
Definition: SiNumerology.h:156
InDetDD::SiNumerology::barrelId
int barrelId(int index) const
Barrel/endcap identifier for each barrel.
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::SiNumerology::useDiskLayer
bool useDiskLayer(int layer) const
Check if layer exists.
InDetDD::SiNumerology::m_numDisksDBM
int m_numDisksDBM
Definition: SiNumerology.h:163
InDetDD::SiNumerology::numDisksForLayer
int numDisksForLayer(int layer) const
Number of disks for a layer (ITk endcap-specific)
InDetDD::SiNumerology::setNumPhiModulesForLayerDisk
void setNumPhiModulesForLayerDisk(int layer, int disk, int nPhiModules)
Definition: SiNumerology.cxx:80
InDetDD::SiNumerology::beginEtaModuleForLayer
int beginEtaModuleForLayer(int layer) const
First eta_module number for a layer.
InDetDD::SiNumerology::m_maxEtaCells
int m_maxEtaCells
Definition: SiNumerology.h:147
InDetDD::SiNumerology::numPhiModulesForLayer
int numPhiModulesForLayer(int layer) const
Number of sectors in phi for a layer.
InDetDD::SiNumerology::setNumPhiModulesForDiskRingDBM
void setNumPhiModulesForDiskRingDBM(int disk, int ring, int nPhiModules)
Definition: SiNumerology.cxx:130
InDetDD::SiNumerology::m_ringsForDisk
std::vector< int > m_ringsForDisk
Definition: SiNumerology.h:157
InDetDD::SiNumerology::m_numDiskLayers
int m_numDiskLayers
Definition: SiNumerology.h:144
InDetDD::SiNumerology::m_numBarrelDBM
int m_numBarrelDBM
Definition: SiNumerology.h:164
InDetDD::SiNumerology::maxNumEtaCells
int maxNumEtaCells() const
Maximum number of cells in eta direction.
InDetDD::SiNumerology::numRingsForDisk
int numRingsForDisk(int disk) const
Number of rings (ie eta_module) in a disk.
InDetDD::SiNumerology::maxNumEndcapRings
int maxNumEndcapRings() const
Maximum number of rings in a disk.
InDetDD::SiNumerology::m_barrelIds
std::vector< int > m_barrelIds
Definition: SiNumerology.h:154
InDetDD::SiNumerology::setNumPhiModulesForLayer
void setNumPhiModulesForLayer(int layer, int nPhiModules)
Definition: SiNumerology.cxx:61
InDetDD::SiNumerology::m_phiModulesForDiskRingDBM
std::vector< std::vector< int > > m_phiModulesForDiskRingDBM
Definition: SiNumerology.h:166
InDetDD::SiNumerology::numEtaModulesForLayer
int numEtaModulesForLayer(int layer) const
Number of sectors in eta for a layer.
InDetDD::SiNumerology::m_endcapIdsDBM
std::vector< int > m_endcapIdsDBM
Definition: SiNumerology.h:165
InDetDD::SiNumerology::addBarrel
void addBarrel(int id)
Definition: SiNumerology.cxx:97
InDetDD::SiNumerology::addEndcapDBM
void addEndcapDBM(int id)
Definition: SiNumerology.cxx:136
InDetDD::SiNumerology::setNumDiskLayers
void setNumDiskLayers(int nLayers)
Definition: SiNumerology.cxx:34
InDetDD::SiNumerology::maxNumPhiCells
int maxNumPhiCells() const
Maximum number of cells in phi direction.