|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef HGTD_READOUTGEOMETRY_HGTD_MODULEDESIGN_H
10 #define HGTD_READOUTGEOMETRY_HGTD_MODULEDESIGN_H
28 class SiLocalPosition;
29 class PixelDiodeMatrix;
67 const int circuitsPerColumn,
68 const int circuitsPerRow,
69 const int cellColumnsPerCircuit,
70 const int cellRowsPerCircuit,
71 const int diodeColumnsPerCircuit,
72 const int diodeRowsPerCircuit,
73 std::shared_ptr<const PixelDiodeMatrix>
matrix,
90 double & etaDist,
double & phiDist)
const;
117 virtual double length()
const;
120 virtual double width()
const;
188 const std::vector<int> &connections);
215 const std::vector<int> &connections)
281 std::vector<SiCellId> &neighbours)
const
294 #endif // HGTD_READOUTGEOMETRY_HGTD_MODULEDESIGN_H
virtual SiDiodesParameters parameters(const SiCellId &cellId) const
readout or diode id -> position, size
int numberOfCircuits() const
Total number of circuits:
int rowsPerCircuit() const
number of cell rows per circuit:
int columns() const
number of cell columns per module:
virtual double minWidth() const
Method to calculate minimum width of a module.
double thickness() const
Method which returns thickness of the silicon wafer.
double intersectionLength(const SiCellId &diode1, const SiCellId &diode2) const
Compute the intersection length of two diodes: return: the intersection length when the two diodes ar...
virtual bool swapHitEtaReadoutDirection() const
int rowsPerCircuit() const
Number of cell rows per circuit:
Trk::RectangleBounds m_bounds
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
readout or diode id -> position.
int readoutSide() const
ReadoutSide.
InDetDD::CarrierType carrierType() const
Return carrier type (ie electrons or holes)
virtual double maxWidth() const
Method to calculate maximum width of a module.
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...
virtual double length() const
Method to calculate length of a module.
virtual SiReadoutCellId readoutIdOfCell(const SiCellId &cellId) const
diode id -> readout id
virtual SiCellId cellIdInRange(const SiCellId &cellId) const
Check if cell is in range.
int rows() const
Number of cell rows per module:
int columnsPerCircuit() const
number of cell columns per circuit:
virtual SiCellId cellIdOfPosition(const SiLocalPosition &localPos) const
position -> id
int columnsPerCircuit() const
Number of cell columns per circuit:
double rightColumn() const
int columns() const
Number of cell columns per module:
int numberOfDiodes() const
Total number of diodes:
double widthFromRowRange(const int rowMin, const int rowMax) const
Method to calculate phi width from a row range.
virtual double etaPitch() const
Pitch in eta direction.
double sensorLeftColumn() const
Global sensor size:
Ensure that the ATLAS eigen extensions are properly loaded.
HGTD_ModuleDesign(const HGTD_ModuleDesign &design)
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...
PixelReadoutScheme m_readoutScheme
virtual const Trk::SurfaceBounds & bounds() const
Element boundary.
virtual void neighboursOfCell(const SiCellId &cellId, std::vector< SiCellId > &neighbours) const
Get the neighbouring diodes of a given diode: Cell for which the neighbours must be found List of cel...
double leftColumn() const
double widthFromColumnRange(const int colMin, const int colMax) const
Method to calculate eta width from a column range.
virtual void distanceToDetectorEdge(const SiLocalPosition &localPosition, double &etaDist, double &phiDist) const
Returns distance to nearest detector active edge +ve = inside -ve = outside.
virtual double phiPitch() const
Pitch in phi direction.
double intersectionLength(const SiCellId &diode1, const SiCellId &diode2) const
Compute the intersection length of two diodes: return: the intersection length when the two diodes ar...
virtual bool swapHitPhiReadoutDirection() const
Return true if hit local direction is the same as readout direction.
int rows() const
number of cell rows per module:
void neighboursOfCell(const SiCellId &cellId, std::vector< SiCellId > &neighbours) const
Get the neighbouring PixelDiodes of a given PixelDiode: Cell for which the neighbours must be found L...
double sensorRightColumn() const
virtual ~HGTD_ModuleDesign()
virtual SiCellId connectedCell(const SiReadoutCellId &readoutId, int number) const
readout id -> id of connected diodes.
virtual double width() const
Method to calculate average width of a module.
int numberOfCircuits() const
total number of circuits:
virtual SiReadoutCellId readoutIdOfPosition(const SiLocalPosition &localPos) const
position -> id
HGTD_ModuleDesign & operator=(const HGTD_ModuleDesign &design)
double sensorLeftRow() const
virtual int numberOfConnectedCells(const SiReadoutCellId &readoutId) const
readout id -> id of connected diodes
double sensorRightRow() const