ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
InDetDD::PixelDiodeMatrix Class Reference

#include <PixelDiodeMatrix.h>

Collaboration diagram for InDetDD::PixelDiodeMatrix:

Public Types

enum  Direction { phiDir, etaDir }
 

Public Member Functions

 ~PixelDiodeMatrix ()=default
 Destructor. More...
 
const PixelDiodeMatrixcellIdOfPosition (const Amg::Vector2D &position, SiCellId &cellId) const
 Return cell Id corresponding to a relative position within the matrix. More...
 
const PixelDiodeMatrixpositionOfCell (const SiCellId &cellId, Amg::Vector2D &position) const
 Return position correspong to cell with relative id withing the matrix. More...
 
double phiWidth () const
 Width in phi (x) direction. More...
 
double phiWidthInverse () const
 Inverse of width in phi (x) direction. More...
 
double etaWidth () const
 Width in eta (y) direction. More...
 
double etaWidthInverse () const
 Inverse of width in eta (y) direction. More...
 
int phiCells () const
 Number of cells in phi (x) direction. More...
 
int etaCells () const
 Number of cells in eta (y) direction. More...
 
bool singleCell () const
 Query wether the matrix is just a single cell. More...
 
std::string createDebugStringRepr () const
 Create debug representation. More...
 

Static Public Member Functions

static std::shared_ptr< const PixelDiodeMatrixconstruct (double phiWidth, double etaWidth)
 Construct method for just a single cell. More...
 
static std::shared_ptr< const PixelDiodeMatrixconstruct (Direction direction, std::shared_ptr< const PixelDiodeMatrix > lowerCell, std::shared_ptr< const PixelDiodeMatrix > middleCells, int numCells, std::shared_ptr< const PixelDiodeMatrix > upperCells)
 Construct method with multiple matrices. More...
 

Private Member Functions

 PixelDiodeMatrix ()
 Hidden constructor. More...
 
void initialize (double phiWidth, double etaWidth)
 Initialize for just a single cell. More...
 
void initialize (Direction direction, std::shared_ptr< const PixelDiodeMatrix > lowerCell, std::shared_ptr< const PixelDiodeMatrix > middleCells, int numCells, std::shared_ptr< const PixelDiodeMatrix > upperCells)
 Initialize for multiple matrices. More...
 
std::string createDebugStringRepr (unsigned int level) const
 Create debug representation for a specific level. More...
 

Private Attributes

double m_phiWidth = 0
 
double m_phiWidthInverse = 0
 
double m_etaWidth = 0
 
double m_etaWidthInverse = 0
 
int m_phiCells = 0
 
int m_etaCells = 0
 
Direction m_direction {}
 
int m_numCells = 0
 
std::shared_ptr< const PixelDiodeMatrixm_lowerCell
 
std::shared_ptr< const PixelDiodeMatrixm_middleCells
 
std::shared_ptr< const PixelDiodeMatrixm_upperCell
 
bool m_singleCell = false
 

Detailed Description

Class used to describe the segmentation of the pixel and allow for conversion between cell id and position.

The class PixelDiodeMatrix represents what it calls a cell. In the context of this class a cell can either be just a simple cell as one would normally think of a pixel cell (eg a 50x400um or 50x600um cell) or it can be a container of multiple cells. To allow for different size cells and layout, it contains a lower cell, an upper cell and multiple middle cells. The middle cells are all the same (so all have the same size), but the upper and lower cells can be different and can have different size or be left out if they are not needed. The direction of replication is also specified (eta or phi direction). The size of the cells in the direction orthoganal to the replication direction must all be the same (there is no check for this though).

To help understand the structure and its use, consider the current pixel geometry. The pixel module has two cell sizes short and long cells. These are refered to as normal and big bellow. The long cells are in the region at the edge of the the FE chips in order to cover the gap between FE chips.

The assembly of this structure is done when building the sensitive detector in GeoModel in the class GeoPixelSiCrystal.

Each cell knows its total size and total number of child cells in the phi and eta direction. This is determined by totaling up these quantities when the object is constructed.

The structure allows for efficient navigation from cell number to position and vice-versa. There are two main methods which allow for this navigation: cellIdOfPosition() (from cell id to position) and positionOfCell() (from position to cell id).

As it is assumed that child cells fill up completely its parent, there is no range check in these methods. The methods are called from PixelDiodeMap where it first checks that is within range of the top level cell (refered to as the top level matrix).

PixelDiodeMatrix might inherit std::shared_ptr but needs to return std::shared_ptr of this pointer. To do this, std::enable_shared_from_this and shared_from_this() have to be used. https://en.cppreference.com/w/cpp/memory/enable_shared_from_this

See the description of these methods for more details.

Author
Grant Gorfine
  • modified & maintained: Nick Styles, Andreas Salzburger

Definition at line 93 of file PixelDiodeMatrix.h.

Member Enumeration Documentation

◆ Direction

Enumerator
phiDir 
etaDir 

Definition at line 97 of file PixelDiodeMatrix.h.

97 {phiDir, etaDir};

Constructor & Destructor Documentation

◆ ~PixelDiodeMatrix()

InDetDD::PixelDiodeMatrix::~PixelDiodeMatrix ( )
default

Destructor.

◆ PixelDiodeMatrix()

InDetDD::PixelDiodeMatrix::PixelDiodeMatrix ( )
inlineprivate

Hidden constructor.

Definition at line 156 of file PixelDiodeMatrix.h.

156 {};

Member Function Documentation

◆ cellIdOfPosition()

const PixelDiodeMatrix * InDetDD::PixelDiodeMatrix::cellIdOfPosition ( const Amg::Vector2D relPosition,
SiCellId cellId 
) const

Return cell Id corresponding to a relative position within the matrix.

Description.

The cellId is modified and returns the id relative to the passed cellId. That is, it adds the relative cellId to the cellId passed to the function. A pointer to the correspond cell is returned. This can be used to get the size of the cell.

Overview of algoritm:

  • Before calling this method on the top level matrix the 2D position is calculated relative to the bottom left corner.
  • The method cellIdOfPosition is always called with the position relative to bottom left of the cell and the cell id of bottom left child cell. For the top level matrix this is the position (-halfWidth, -halfLength) and a starting cell id of (0,0).
  • It first checks if it is in the lower cell (if it exists).
  • If not, it determines which cell by dividing the position relative to the start of the cell array by the pitch in that direction.
  • If it is beyond the range of the middle cells it is taken as being in the upper cell.
  • The cell number is added to the cellId that is passed to the method
  • Once the cell is determined the function is called recursively until it reaches a single cell.

Definition at line 131 of file PixelDiodeMatrix.cxx.

152 {
153  using Trk::distPhi;
154  using Trk::distEta;
155 
156  if (m_singleCell) {
157  return this;
158  }
159 
160  double relPosDir = 0; // Relative position along m_direction
161  int startIndex = 0;
162  double pitch = 0;
163  double pitchInverse = 0;
164  int middleCells = 0;
165 
166  if (m_direction == phiDir) {
167 
168  relPosDir = relPosition[distPhi];
169  pitch = m_middleCells->phiWidth();
170  pitchInverse = m_middleCells->phiWidthInverse();
171  middleCells = m_middleCells->phiCells();
172 
173  if (m_lowerCell) {
174  if (relPosDir < m_lowerCell->phiWidth()) {
175  return m_lowerCell->cellIdOfPosition(relPosition, cellId);
176  } else {
177  relPosDir -= m_lowerCell->phiWidth();
178  startIndex += m_lowerCell->phiCells();
179  }
180  }
181  } else { // etaDir
182 
183  relPosDir = relPosition[distEta];
184  pitch = m_middleCells->etaWidth();
185  pitchInverse = m_middleCells->etaWidthInverse();
186  middleCells = m_middleCells->etaCells();
187 
188  if (m_lowerCell) {
189  if (relPosDir < m_lowerCell->etaWidth()) {
190  return m_lowerCell->cellIdOfPosition(relPosition, cellId);
191  } else {
192  relPosDir -= m_lowerCell->etaWidth();
193  startIndex += m_lowerCell->etaCells();
194  }
195  }
196  }
197 
198 
199  int index = relPosDir * pitchInverse;
200 
201  const PixelDiodeMatrix *nextCell{};
202 
203  bool outOfBounds = index >= m_numCells;
204  if (m_upperCell != nullptr && outOfBounds) {
205  // We are in the upper cell.
206  index = m_numCells;
207  nextCell = m_upperCell.get();
208  } else {
209  // We are in the middle cells
210  // Make sure its in range (in case of rounding errors)
211  if (outOfBounds) index = m_numCells - 1;
212  nextCell = m_middleCells.get();
213  }
214 
215  if (index > 0) { // Make sure its in range (in case of rounding errors)
216  relPosDir -= index * pitch;
217  startIndex += index * middleCells;
218  }
219 
220  int newPhiIndex = cellId.phiIndex();
221  int newEtaIndex = cellId.etaIndex();
222  const PixelDiodeMatrix *cell{};
223 
224  if (m_direction == phiDir) {
225  if (nextCell->singleCell()) {
226  newPhiIndex += startIndex;
227  cell = nextCell;
228  } else {
229  Amg::Vector2D newRelPos(relPosDir, relPosition[distEta]);
230  SiCellId relId(0,0);
231  cell = nextCell->cellIdOfPosition(newRelPos, relId);
232  newPhiIndex += startIndex + relId.phiIndex();
233  newEtaIndex += relId.etaIndex();
234  }
235  } else {
236  if (nextCell->singleCell()) {
237  newEtaIndex += startIndex;
238  cell = nextCell;
239  } else {
240  Amg::Vector2D newRelPos(relPosition[distPhi], relPosDir);
241  SiCellId relId(0,0);
242  cell = nextCell->cellIdOfPosition(newRelPos, relId);
243  newPhiIndex += relId.phiIndex();
244  newEtaIndex += startIndex + relId.etaIndex();
245  }
246  }
247 
248  cellId = SiCellId(newPhiIndex, newEtaIndex);
249  return cell;
250 }

◆ construct() [1/2]

std::shared_ptr< const PixelDiodeMatrix > InDetDD::PixelDiodeMatrix::construct ( Direction  direction,
std::shared_ptr< const PixelDiodeMatrix lowerCell,
std::shared_ptr< const PixelDiodeMatrix middleCells,
int  numCells,
std::shared_ptr< const PixelDiodeMatrix upperCells 
)
static

Construct method with multiple matrices.

There may be zero or one lower matrix (pointer can be 0). Multiple (numCells) middle matrics (must pass a non zero pointer). There may be zero or one upper matrix (pointer can be 0). These must all have the same width and cells in the non replicating direction.

Definition at line 38 of file PixelDiodeMatrix.cxx.

43 {
44  class Helper : public PixelDiodeMatrix{};
45  std::shared_ptr<PixelDiodeMatrix> ptr = std::make_shared<Helper>();
46  ptr->initialize(direction,
47  std::move(lowerCell),
48  std::move(middleCells),
49  numCells,
50  std::move(upperCell));
51  return ptr;
52 }

◆ construct() [2/2]

std::shared_ptr< const PixelDiodeMatrix > InDetDD::PixelDiodeMatrix::construct ( double  phiWidth,
double  etaWidth 
)
static

Construct method for just a single cell.

Definition at line 14 of file PixelDiodeMatrix.cxx.

15 {
16  class Helper : public PixelDiodeMatrix{};
17  std::shared_ptr<PixelDiodeMatrix> ptr = std::make_shared<Helper>();
18  ptr->initialize(phiWidth, etaWidth);
19  return ptr;
20 }

◆ createDebugStringRepr() [1/2]

std::string InDetDD::PixelDiodeMatrix::createDebugStringRepr ( ) const
inline

Create debug representation.

Definition at line 225 of file PixelDiodeMatrix.h.

226  {
227  return this->createDebugStringRepr(0);
228  }

◆ createDebugStringRepr() [2/2]

std::string InDetDD::PixelDiodeMatrix::createDebugStringRepr ( unsigned int  level) const
private

Create debug representation for a specific level.

Definition at line 347 of file PixelDiodeMatrix.cxx.

348 {
349  std::string prefix(level, ' ');
350 
351  // base case: single cell
352  if (m_singleCell) {
353  std::string cellSize = "";
354  cellSize += prefix + "phi: " + std::to_string(m_phiWidth) + "\n";
355  cellSize += prefix + "eta: " + std::to_string(m_etaWidth) + "\n";
356  return cellSize;
357  }
358 
359  std::string cellContent = "";
360 
361  if (m_lowerCell == nullptr && m_middleCells == nullptr && m_upperCell == nullptr) {
362  cellContent += prefix + "completly empty (WARNING: there should always be at least one cell!)\n";
363  return cellContent;
364  }
365 
366  cellContent += prefix + "direction: ";
367  if (m_direction == phiDir) { cellContent += "phi\n"; }
368  else if (m_direction == etaDir) { cellContent += "eta\n"; }
369  else { cellContent += "unknown\n"; }
370 
371  // recursive call for nested cells
372  if (m_lowerCell != nullptr) {
373  cellContent += prefix + "lowerCell: \n";
374  cellContent += m_lowerCell->createDebugStringRepr(level + 1);
375  }
376  if (m_middleCells != nullptr) {
377  cellContent += prefix + "middleCells: " + std::to_string(m_numCells) + "x :\n";
378  cellContent += m_middleCells->createDebugStringRepr(level + 1);
379  }
380  if (m_upperCell != nullptr) {
381  cellContent += prefix + "upperCell: \n";
382  cellContent += m_upperCell->createDebugStringRepr(level + 1);
383  }
384 
385  return cellContent;
386 }

◆ etaCells()

int InDetDD::PixelDiodeMatrix::etaCells ( ) const
inline

Number of cells in eta (y) direction.

Definition at line 215 of file PixelDiodeMatrix.h.

216  {
217  return m_etaCells;
218  }

◆ etaWidth()

double InDetDD::PixelDiodeMatrix::etaWidth ( ) const
inline

Width in eta (y) direction.

Definition at line 200 of file PixelDiodeMatrix.h.

201  {
202  return m_etaWidth;
203  }

◆ etaWidthInverse()

double InDetDD::PixelDiodeMatrix::etaWidthInverse ( ) const
inline

Inverse of width in eta (y) direction.

Definition at line 205 of file PixelDiodeMatrix.h.

206  {
207  return m_etaWidthInverse;
208  }

◆ initialize() [1/2]

void InDetDD::PixelDiodeMatrix::initialize ( Direction  direction,
std::shared_ptr< const PixelDiodeMatrix lowerCell,
std::shared_ptr< const PixelDiodeMatrix middleCells,
int  numCells,
std::shared_ptr< const PixelDiodeMatrix upperCells 
)
private

Initialize for multiple matrices.

There may be zero or one lower matrix (pointer can be 0). Multiple (numCells) middle matrics (must pass a non zero pointer). There may be zero or one upper matrix (pointer can be 0). These must all have the same width and cells in the non replicating direction.

Definition at line 54 of file PixelDiodeMatrix.cxx.

59 {
60  m_phiWidth = 0;
61  m_etaWidth = 0;
62  m_phiCells = 0;
63  m_etaCells = 0;
64  m_direction = direction;
66  m_lowerCell = std::move(lowerCell);
67  m_middleCells = std::move(middleCells);
68  m_upperCell = std::move(upperCell);
69  m_singleCell = false;
70 
71  // middleCells must be non zero.
72  assert(m_middleCells);
73 
74  if (m_direction == phiDir) {
75 
76  // In eta direction widths must be all the same.
77  if (m_middleCells){
78  m_etaWidth = m_middleCells->etaWidth();
79  m_etaCells = m_middleCells->etaCells();
80  }
81  // Check lower and upper are consistent
82  // TODO.
83 
84  if (m_lowerCell) {
85  m_phiWidth += m_lowerCell->phiWidth();
86  m_phiCells += m_lowerCell->phiCells();
87  }
88 
89  if (m_middleCells){
90  m_phiWidth += m_numCells * m_middleCells->phiWidth();
91  m_phiCells += m_numCells * m_middleCells->phiCells();
92  }
93 
94  if (m_upperCell) {
95  m_phiWidth += m_upperCell->phiWidth();
96  m_phiCells += m_upperCell->phiCells();
97  }
98 
99  } else { // eta Direction
100 
101  // In phi direction widths must be all the same.
102  if (m_middleCells){
103  m_phiWidth = m_middleCells->phiWidth();
104  m_phiCells = m_middleCells->phiCells();
105  }
106  // Check lower and upper are consistent
107  // TODO.
108 
109  if (m_lowerCell) {
110  m_etaWidth += m_lowerCell->etaWidth();
111  m_etaCells += m_lowerCell->etaCells();
112  }
113 
114  if (m_middleCells){
115  m_etaWidth += m_numCells * m_middleCells->etaWidth();
116  m_etaCells += m_numCells * m_middleCells->etaCells();
117  }
118 
119  if (m_upperCell) {
120  m_etaWidth += m_upperCell->etaWidth();
121  m_etaCells += m_upperCell->etaCells();
122  }
123 
124  }
125 
128 }

◆ initialize() [2/2]

void InDetDD::PixelDiodeMatrix::initialize ( double  phiWidth,
double  etaWidth 
)
private

Initialize for just a single cell.

Definition at line 22 of file PixelDiodeMatrix.cxx.

23 {
28  m_phiCells = 1;
29  m_etaCells = 1;
30  m_direction = phiDir; // Irrelevant
31  m_numCells = 0;
32  m_lowerCell = nullptr;
33  m_middleCells = nullptr;
34  m_upperCell = nullptr;
35  m_singleCell = true;
36 }

◆ phiCells()

int InDetDD::PixelDiodeMatrix::phiCells ( ) const
inline

Number of cells in phi (x) direction.

Definition at line 210 of file PixelDiodeMatrix.h.

211  {
212  return m_phiCells;
213  }

◆ phiWidth()

double InDetDD::PixelDiodeMatrix::phiWidth ( ) const
inline

Width in phi (x) direction.

Definition at line 190 of file PixelDiodeMatrix.h.

191  {
192  return m_phiWidth;
193  }

◆ phiWidthInverse()

double InDetDD::PixelDiodeMatrix::phiWidthInverse ( ) const
inline

Inverse of width in phi (x) direction.

Definition at line 195 of file PixelDiodeMatrix.h.

196  {
197  return m_phiWidthInverse;
198  }

◆ positionOfCell()

const PixelDiodeMatrix * InDetDD::PixelDiodeMatrix::positionOfCell ( const SiCellId cellId,
Amg::Vector2D position 
) const

Return position correspong to cell with relative id withing the matrix.

Description.

Returns the relative position added to the position passed in. A pointer to the correspond cell is returned. This can be used to get the size of the cell.

Overview of algoritm:

  • It starts with the position of the bottom left corner of the cell. For the full matrix this is (-halfwidth,-halflength)
  • It first checks if is in the lower cell (if it exists).
  • If not it determines the bottom edge of the cell by multiplying the cell number by the pitch.
  • If it is beyond the range of the middle cells it is taken as being in the upper cell.
  • This position is then passed recursively to the same method until it reaches a single cell.
  • At the end the 2D position is then transformed to the position relative to the module center.

Definition at line 255 of file PixelDiodeMatrix.cxx.

272 {
273  using Trk::distPhi;
274  using Trk::distEta;
275 
276  if (m_singleCell) {
277  position[distPhi] += 0.5*m_phiWidth;
278  position[distEta] += 0.5*m_etaWidth;
279  return this;
280  }
281 
282  int relIndex = 0; // Relative index along m_direction
283  double pitch = 0;
284  int middleCells = 0;
285  double startPos = 0;
286 
287  if (m_direction == phiDir) {
288 
289  relIndex = cellId.phiIndex();
290  pitch = m_middleCells->phiWidth();
291  middleCells = m_middleCells->phiCells();
292 
293  if (m_lowerCell) {
294  if (relIndex < m_lowerCell->phiCells()) {
295  return m_lowerCell->positionOfCell(cellId, position);
296  } else {
297  relIndex -= m_lowerCell->phiCells();
298  startPos += m_lowerCell->phiWidth();
299  }
300  }
301 
302  } else { // etaDir
303 
304  relIndex = cellId.etaIndex();
305  pitch = m_middleCells->etaWidth();
306  middleCells = m_middleCells->etaCells();
307 
308  if (m_lowerCell) {
309  if (relIndex < m_lowerCell->etaCells()) {
310  return m_lowerCell->positionOfCell(cellId, position);
311  } else {
312  relIndex -= m_lowerCell->etaCells();
313  startPos += m_lowerCell->etaWidth();
314  }
315  }
316  }
317 
318  int index = relIndex / middleCells;
319  if (index > m_numCells) index = m_numCells;
320  relIndex -= index * middleCells;
321  startPos += index * pitch;
322 
323  const PixelDiodeMatrix *nextCell{};
324  if (m_upperCell && (index == m_numCells)) {
325  // We are in the upper cell.
326  nextCell = m_upperCell.get();
327  } else {
328  // We are in the middle cells
329  nextCell = m_middleCells.get();
330  }
331 
332  const PixelDiodeMatrix *cell{};
333  if (m_direction == phiDir) {
334  SiCellId relId(relIndex,cellId.etaIndex());
335  position[distPhi] += startPos;
336  cell = nextCell->positionOfCell(relId, position);
337  } else {
338  SiCellId relId(cellId.phiIndex(),relIndex);
339  position[distEta] += startPos;
340  cell = nextCell->positionOfCell(relId, position);
341  }
342 
343  return cell;
344 }

◆ singleCell()

bool InDetDD::PixelDiodeMatrix::singleCell ( ) const
inline

Query wether the matrix is just a single cell.

Mainly for internal use.

Definition at line 220 of file PixelDiodeMatrix.h.

221  {
222  return m_singleCell;
223  }

Member Data Documentation

◆ m_direction

Direction InDetDD::PixelDiodeMatrix::m_direction {}
private

Definition at line 181 of file PixelDiodeMatrix.h.

◆ m_etaCells

int InDetDD::PixelDiodeMatrix::m_etaCells = 0
private

Definition at line 180 of file PixelDiodeMatrix.h.

◆ m_etaWidth

double InDetDD::PixelDiodeMatrix::m_etaWidth = 0
private

Definition at line 177 of file PixelDiodeMatrix.h.

◆ m_etaWidthInverse

double InDetDD::PixelDiodeMatrix::m_etaWidthInverse = 0
private

Definition at line 178 of file PixelDiodeMatrix.h.

◆ m_lowerCell

std::shared_ptr<const PixelDiodeMatrix> InDetDD::PixelDiodeMatrix::m_lowerCell
private

Definition at line 183 of file PixelDiodeMatrix.h.

◆ m_middleCells

std::shared_ptr<const PixelDiodeMatrix> InDetDD::PixelDiodeMatrix::m_middleCells
private

Definition at line 184 of file PixelDiodeMatrix.h.

◆ m_numCells

int InDetDD::PixelDiodeMatrix::m_numCells = 0
private

Definition at line 182 of file PixelDiodeMatrix.h.

◆ m_phiCells

int InDetDD::PixelDiodeMatrix::m_phiCells = 0
private

Definition at line 179 of file PixelDiodeMatrix.h.

◆ m_phiWidth

double InDetDD::PixelDiodeMatrix::m_phiWidth = 0
private

Definition at line 175 of file PixelDiodeMatrix.h.

◆ m_phiWidthInverse

double InDetDD::PixelDiodeMatrix::m_phiWidthInverse = 0
private

Definition at line 176 of file PixelDiodeMatrix.h.

◆ m_singleCell

bool InDetDD::PixelDiodeMatrix::m_singleCell = false
private

Definition at line 186 of file PixelDiodeMatrix.h.

◆ m_upperCell

std::shared_ptr<const PixelDiodeMatrix> InDetDD::PixelDiodeMatrix::m_upperCell
private

Definition at line 185 of file PixelDiodeMatrix.h.


The documentation for this class was generated from the following files:
InDetDD::PixelDiodeMatrix::phiWidth
double phiWidth() const
Width in phi (x) direction.
Definition: PixelDiodeMatrix.h:190
InDetDD::PixelDiodeMatrix::m_upperCell
std::shared_ptr< const PixelDiodeMatrix > m_upperCell
Definition: PixelDiodeMatrix.h:185
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
InDetDD::PixelDiodeMatrix::m_etaCells
int m_etaCells
Definition: PixelDiodeMatrix.h:180
AsgConfigHelper::Helper
std::vector< T > Helper(const std::string &input, TEnv &env)
Definition: AsgEGammaConfigHelper.cxx:82
InDetDD::PixelDiodeMatrix::m_singleCell
bool m_singleCell
Definition: PixelDiodeMatrix.h:186
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
index
Definition: index.py:1
InDetDD::PixelDiodeMatrix::etaWidth
double etaWidth() const
Width in eta (y) direction.
Definition: PixelDiodeMatrix.h:200
InDetDD::PixelDiodeMatrix::createDebugStringRepr
std::string createDebugStringRepr() const
Create debug representation.
Definition: PixelDiodeMatrix.h:225
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
InDetDD::PixelDiodeMatrix::PixelDiodeMatrix
PixelDiodeMatrix()
Hidden constructor.
Definition: PixelDiodeMatrix.h:156
InDetDD::PixelDiodeMatrix::phiCells
int phiCells() const
Number of cells in phi (x) direction.
Definition: PixelDiodeMatrix.h:210
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
InDetDD::PixelDiodeMatrix::phiDir
@ phiDir
Definition: PixelDiodeMatrix.h:97
InDetDD::PixelDiodeMatrix::m_lowerCell
std::shared_ptr< const PixelDiodeMatrix > m_lowerCell
Definition: PixelDiodeMatrix.h:183
Trk::distEta
@ distEta
readout for silicon
Definition: ParamDefs.h:51
InDetDD::PixelDiodeMatrix::m_phiWidthInverse
double m_phiWidthInverse
Definition: PixelDiodeMatrix.h:176
InDetDD::PixelDiodeMatrix::m_phiCells
int m_phiCells
Definition: PixelDiodeMatrix.h:179
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
Trk::distPhi
@ distPhi
Definition: ParamDefs.h:50
InDetDD::PixelDiodeMatrix::m_etaWidth
double m_etaWidth
Definition: PixelDiodeMatrix.h:177
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
InDetDD::PixelDiodeMatrix::m_phiWidth
double m_phiWidth
Definition: PixelDiodeMatrix.h:175
InDetDD::PixelDiodeMatrix::m_numCells
int m_numCells
Definition: PixelDiodeMatrix.h:182
InDetDD::PixelDiodeMatrix::etaCells
int etaCells() const
Number of cells in eta (y) direction.
Definition: PixelDiodeMatrix.h:215
InDetDD::PixelDiodeMatrix::m_middleCells
std::shared_ptr< const PixelDiodeMatrix > m_middleCells
Definition: PixelDiodeMatrix.h:184
xAOD::TauJetParameters::numCells
@ numCells
Definition: TauDefs.h:171
InDetDD::PixelDiodeMatrix::m_direction
Direction m_direction
Definition: PixelDiodeMatrix.h:181
InDetDD::PixelDiodeMatrix::m_etaWidthInverse
double m_etaWidthInverse
Definition: PixelDiodeMatrix.h:178
InDetDD::PixelDiodeMatrix::etaDir
@ etaDir
Definition: PixelDiodeMatrix.h:97