9#ifndef READOUTGEOMETRYBASE_PIXELDIODEMATRIX_H
10#define READOUTGEOMETRYBASE_PIXELDIODEMATRIX_H
111 std::shared_ptr<const PixelDiodeMatrix> lowerCell,
112 std::shared_ptr<const PixelDiodeMatrix> middleCells,
114 std::shared_ptr<const PixelDiodeMatrix> upperCells);
172 std::shared_ptr<const PixelDiodeMatrix> lowerCell,
173 std::shared_ptr<const PixelDiodeMatrix> middleCells,
175 std::shared_ptr<const PixelDiodeMatrix> upperCells);
Class used to describe the segmentation of the pixel and allow for conversion between cell id and pos...
double etaWidthInverse() const
Inverse of width in eta (y) direction.
double etaHalfWidth() const
std::shared_ptr< const PixelDiodeMatrix > m_upperCell
const PixelDiodeMatrix * cellIdOfPosition(const Amg::Vector2D &position, SiCellId &cellId) const
Return cell Id corresponding to a relative position within the matrix.
~PixelDiodeMatrix()=default
Destructor.
std::shared_ptr< const PixelDiodeMatrix > m_middleCells
std::string createDebugStringRepr() const
Create debug representation.
PixelDiodeMatrix()
Hidden constructor.
bool singleCell() const
Query wether the matrix is just a single cell.
double phiHalfWidth() const
static std::shared_ptr< const PixelDiodeMatrix > construct(double phiWidth, double etaWidth)
Construct method for just a single cell.
int phiCells() const
Number of cells in phi (x) direction.
int etaCells() const
Number of cells in eta (y) direction.
const PixelDiodeMatrix * positionOfCell(const SiCellId &cellId, Amg::Vector2D &position) const
Search diode matching the given cell id and compute its position.
double etaWidth() const
Width in eta (y) direction.
double phiWidth() const
Width in phi (x) direction.
double phiWidthInverse() const
Inverse of width in phi (x) direction.
std::shared_ptr< const PixelDiodeMatrix > m_lowerCell
Identifier for the strip or pixel cell.
Eigen::Matrix< double, 2, 1 > Vector2D