Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef INDETREADOUTGEOMETRY_SCT_MODULESIDEDESIGN_H
13 #define INDETREADOUTGEOMETRY_SCT_MODULESIDEDESIGN_H
59 const bool swapStripReadout,
80 const bool swapStripReadout,
110 int cluserSize)
const = 0;
120 std::vector<SiCellId> &neighbours)
const override;
139 virtual std::pair<SiLocalPosition, SiLocalPosition>
174 virtual int row(
int stripId1Dim)
const;
175 virtual int strip(
int stripId1Dim)
const;
180 const std::map<int, const SCT_ModuleSideDesign *>&
getChildren()
const;
297 #endif // INDETREADOUTGEOMETRY_SCT_MODULESIDEDESIGN_H
virtual double stripPitch(const SiLocalPosition &chargePos) const =0
give the strip pitch (dependence on position needed for forward)
bool depthSymmetric() const
double thickness() const
Method which returns thickness of the silicon wafer.
bool etaSymmetric() const
void setMother(SCT_ModuleSideDesign *mother)
std::map< int, const SCT_ModuleSideDesign * > m_childDesigns
virtual int strip(int stripId1Dim) const
const SCT_ModuleSideDesign * getMother() const
virtual double stripPitch() const =0
give the strip pitch (For Forward returns pitch at center)
virtual bool inActiveArea(const SiLocalPosition &chargePos, bool checkBondGap=true) const =0
check if the position is in active area
virtual double deadAreaLength() const =0
give length of dead area
int readoutSide() const
ReadoutSide.
InDetDD::CarrierType carrierType() const
Return carrier type (ie electrons or holes)
int crystals() const
number of crystals within module side:
int shift() const
number of edge strips before first readout strip.
virtual double scaledDistanceToNearestDiode(const SiLocalPosition &chargePos) const =0
give distance to the nearest diode in units of pitch, from 0.0 to 0.5, this method should be fast as ...
int cells() const
number of readout stips within module side:
SCT_ModuleSideDesign(const SCT_ModuleSideDesign &design)
virtual int numberOfConnectedCells(const SiReadoutCellId &readoutId) const override
readout id -> id of connected diodes Not particularly useful for the SCT but implemented to keep a un...
virtual int row(int stripId1Dim) const
virtual int diodesInRow(const int row) const
virtual SiCellId cellIdInRange(const SiCellId &cellId) const override
Check if cell is in range.
const std::map< int, const SCT_ModuleSideDesign * > & getChildren() const
InDetDD::DetectorType m_detectorType
const SCT_ModuleSideDesign * m_motherDesign
SiCellId connectedCell(const SiReadoutCellId &readoutId, int number) const
virtual double deadAreaLowerBoundary() const =0
give lower boundary of dead area
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const override=0
id -> position
virtual SiLocalPosition positionFromStrip(const int stripNumber) const
gives position of strip center ALTERNATIVE/PREFERED way is to use localPositionOfCell(const SiCellId ...
int numberOfConnectedCells(const SiReadoutCellId &readoutId) const
virtual bool swapHitEtaReadoutDirection() const override
SCT_ReadoutScheme m_scheme
virtual bool swapHitPhiReadoutDirection() const override
Return true if hit local direction is the same as readout direction.
int diodes() const
number of strips within crystal:
SCT_ModuleSideDesign & operator=(const SCT_ModuleSideDesign &design)
virtual SiCellId connectedCell(const SiReadoutCellId &readoutId, int number) const override
readout id -> id of connected diodes.
virtual SiReadoutCellId readoutIdOfPosition(const SiLocalPosition &localPos) const override
position -> id
virtual SiReadoutCellId readoutIdOfCell(const SiCellId &cellId) const override
diode id -> readout id
virtual SiLocalPosition localPositionOfCluster(const SiCellId &cellId, int cluserSize) const =0
void addChildDesign(int index, const SCT_ModuleSideDesign *element)
virtual SiCellId cellIdOfPosition(const SiLocalPosition &localPos) const =0
position -> id
SiReadoutCellId readoutIdOfCell(const SiCellId &cellId) const
virtual SiCellId gangedCell(const SiCellId &cellId) const override
If cell is ganged return the other cell, otherwise return an invalid id.
virtual int strip1Dim(int strip, int row) const override
only relevant for SCT.
bool phiSymmetric() const
virtual void neighboursOfCell(const SiCellId &cellId, std::vector< SiCellId > &neighbours) const override
Get the neighbouring diodes of a given diode: Cell for which the neighbours must be found List of cel...
virtual double deadAreaUpperBoundary() const =0
give upper boundary of dead area
virtual std::pair< int, int > getStripRow(SiCellId id) const
Get the strip and row number of the cell.
virtual ~SCT_ModuleSideDesign()=default
Destructor:
virtual std::pair< SiLocalPosition, SiLocalPosition > endsOfStrip(const SiLocalPosition &position) const override=0
give the ends of strips
virtual SiIntersect inDetector(const SiLocalPosition &localPosition, double phiTol, double etaTol) const override
Test if point is in the active part of the detector with specified tolerances.