ATLAS Offline Software
PixelReadoutScheme.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // PixelReadoutScheme.h
8 // (c) ATLAS Pixel Detector software
10 
11 #ifndef READOUTGEOMETRYBASE_PIXELREADOUTSCHEME_H
12 #define READOUTGEOMETRYBASE_PIXELREADOUTSCHEME_H
13 
14 // Data member classes
16 
17 // Input and output classes
20 
21 namespace InDetDD {
22 
36 
38  // Public methods:
40  public:
41 
43  // Constructors/destructor:
45 
54  PixelReadoutScheme(const int circuitsPerColumn,
55  const int circuitsPerRow,
56  const int cellColumnsPerCircuit,
57  const int cellRowsPerCircuit,
58  const int diodeColumnsPerCircuit,
59  const int diodeRowsPerCircuit);
60 
63 
65  // Const methods:
67 
69  int numberOfCircuits() const;
70 
72  int numberOfCircuitsPerColumn() const;
73 
75  int numberOfCircuitsPerRow() const;
76 
78  int columnsPerCircuit() const;
79 
81  int rowsPerCircuit() const;
82 
84  int columns() const;
85 
87  int rows() const;
88 
90  int numberOfConnectedCells(const SiReadoutCellId & readoutId) const;
91 
93  SiCellId connectedCell(const SiReadoutCellId & readoutId, unsigned int number) const;
94 
96  SiReadoutCellId readoutIdOfCell(const SiCellId & cellId) const;
97 
99  SiCellId gangedCell(const SiCellId & cellId) const;
100 
102  // Non-const methods:
104 
109  void addMultipleRowConnection(const int lowerRow, const std::vector<int> &connections);
110 
112  // Private methods:
114  private:
115 
117 
119  // Private data:
121  private:
128  int m_columns;
129  int m_rows;
130 
131 };
132 
134 // Inline methods:
137 {}
138 
140 {
141  return m_numberOfCircuits;
142 }
143 
145 {
147 }
148 
150 {
152 }
153 
155 {
156  return m_columnsPerCircuit;
157 }
158 
160 {
161  return m_rowsPerCircuit;
162 }
163 
164 inline int PixelReadoutScheme::columns() const
165 {
166  return m_columns;
167 }
168 
169 inline int PixelReadoutScheme::rows() const
170 {
171  return m_rows;
172 }
173 
174 } // namespace InDetDD
175 
176 #endif // READOUTGEOMETRYBASE_PIXELREADOUTSCHEME_H
InDetDD::PixelReadoutScheme::rowsPerCircuit
int rowsPerCircuit() const
number of cell rows per circuit:
Definition: PixelReadoutScheme.h:159
InDetDD::PixelReadoutScheme::columns
int columns() const
number of cell columns per module:
Definition: PixelReadoutScheme.h:164
InDetDD::PixelReadoutScheme::numberOfConnectedCells
int numberOfConnectedCells(const SiReadoutCellId &readoutId) const
number of cells connected to this readout.
Definition: PixelReadoutScheme.cxx:45
InDetDD::PixelReadoutScheme::~PixelReadoutScheme
~PixelReadoutScheme()
Destructor:
Definition: PixelReadoutScheme.h:136
InDetDD::PixelReadoutScheme::m_numberOfCircuitsPerColumn
int m_numberOfCircuitsPerColumn
number of circuits per column
Definition: PixelReadoutScheme.h:124
InDetDD::PixelReadoutScheme::PixelReadoutScheme
PixelReadoutScheme()
InDetDD::PixelReadoutScheme::numberOfCircuitsPerColumn
int numberOfCircuitsPerColumn() const
number of circuits per column:
Definition: PixelReadoutScheme.h:144
InDetDD::PixelReadoutScheme::m_numberOfCircuitsPerRow
int m_numberOfCircuitsPerRow
number of circuits per row
Definition: PixelReadoutScheme.h:125
InDetDD::PixelReadoutScheme
Definition: PixelReadoutScheme.h:35
InDetDD::PixelReadoutScheme::columnsPerCircuit
int columnsPerCircuit() const
number of cell columns per circuit:
Definition: PixelReadoutScheme.h:154
InDetDD::PixelReadoutScheme::numberOfCircuitsPerRow
int numberOfCircuitsPerRow() const
number of circuits per row:
Definition: PixelReadoutScheme.h:149
InDetDD::PixelReadoutScheme::readoutIdOfCell
SiReadoutCellId readoutIdOfCell(const SiCellId &cellId) const
Readout id of this diode.
Definition: PixelReadoutScheme.cxx:76
InDetDD::PixelReadoutScheme::m_numberOfCircuits
int m_numberOfCircuits
total number of circuits
Definition: PixelReadoutScheme.h:123
SiReadoutCellId.h
InDetDD::PixelMultipleConnection1D
Definition: PixelMultipleConnection1D.h:27
InDetDD::PixelReadoutScheme::connectedCell
SiCellId connectedCell(const SiReadoutCellId &readoutId, unsigned int number) const
Cell ids of cell connected to this readout.
Definition: PixelReadoutScheme.cxx:59
InDetDD::PixelReadoutScheme::m_rowConnections
PixelMultipleConnection1D m_rowConnections
multiple connections for rows
Definition: PixelReadoutScheme.h:122
InDetDD::PixelReadoutScheme::m_rowsPerCircuit
int m_rowsPerCircuit
number of cell rows per circuit
Definition: PixelReadoutScheme.h:127
python.selection.number
number
Definition: selection.py:20
InDetDD::PixelReadoutScheme::addMultipleRowConnection
void addMultipleRowConnection(const int lowerRow, const std::vector< int > &connections)
Add a new multiple connection for rows: lower diode row for which the connection scheme is given vect...
Definition: PixelReadoutScheme.cxx:102
InDetDD::PixelReadoutScheme::m_columns
int m_columns
Number of columns.
Definition: PixelReadoutScheme.h:128
InDetDD::SiCellId
Definition: SiCellId.h:29
InDetDD::PixelReadoutScheme::m_rows
int m_rows
Number of rows.
Definition: PixelReadoutScheme.h:129
InDetDD::PixelReadoutScheme::m_columnsPerCircuit
int m_columnsPerCircuit
number of cell columns per circuit
Definition: PixelReadoutScheme.h:126
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::PixelReadoutScheme::rows
int rows() const
number of cell rows per module:
Definition: PixelReadoutScheme.h:169
InDetDD::SiReadoutCellId
Definition: SiReadoutCellId.h:42
InDetDD::PixelReadoutScheme::gangedCell
SiCellId gangedCell(const SiCellId &cellId) const
If cell is ganged return the other cell, otherwise return an invalid id.
Definition: PixelReadoutScheme.cxx:91
SiCellId.h
InDetDD::PixelReadoutScheme::numberOfCircuits
int numberOfCircuits() const
total number of circuits:
Definition: PixelReadoutScheme.h:139
PixelMultipleConnection1D.h