11#ifndef INDETREADOUTGEOMETRY_SCT_FORWARDMODULESIDEDESIGN_H
12#define INDETREADOUTGEOMETRY_SCT_FORWARDMODULESIDEDESIGN_H
62 const bool swapStripReadout,
64 const double radius1,
const double halfHeight1,
65 const double radius2,
const double halfHeight2,
67 const double etaCenter,
const double phiCenter,
82 double & etaDist,
double & phiDist)
const;
119 virtual double length()
const;
122 virtual double width()
const;
double thickness() const
Method which returns thickness of the silicon wafer.
InDetDD::CarrierType carrierType() const
Return carrier type (ie electrons or holes)
int readoutSide() const
ReadoutSide.
virtual SiCellId cellIdOfPosition(const SiLocalPosition &localPos) const
position -> id
virtual SiDiodesParameters parameters(const SiCellId &cellId) const
readout or diode id -> position, size
Trk::TrapezoidBounds m_bounds
virtual double stripPitch() const
give the strip pitch (For Forward returns pitch at center)
virtual double length() const
Method to calculate length of a module.
virtual double deadAreaLength() const
give length of dead area
virtual const Trk::SurfaceBounds & bounds() const
Element boundary.
virtual double deadAreaLowerBoundary() const
give lower boundary of dead area
SCT_ForwardModuleSideGeometry m_geometry
geometry of module side
virtual HepGeom::Vector3D< double > phiMeasureSegment(const SiLocalPosition &position) const
method for stereo angle computation - returns a vector parallel to the strip being hit
virtual double etaPitch() const
Pitch in eta direction.
virtual DetectorShape shape() const
Shape of element.
SCT_ForwardModuleSideDesign()
Forbidden default constructor.
virtual double deadAreaUpperBoundary() const
give upper boundary of dead area
virtual SiLocalPosition localPositionOfCluster(const SiCellId &cellId, int clusterSize) const
SCT_ForwardFrameTransformation m_frame
polar / cartesian frame transformation
virtual void distanceToDetectorEdge(const SiLocalPosition &localPosition, double &etaDist, double &phiDist) const
Returns distance to nearest detector active edge +ve = inside -ve = outside.
virtual bool nearBondGap(const SiLocalPosition &localPosition, double etaTol) const
Test if near bond gap within tolerances.
SCT_ForwardModuleSideDesign & operator=(const SCT_ForwardModuleSideDesign &design)
Assignment operator:
double radius() const
Nominal center radius of double wafer.
SCT_ForwardModuleSideDesign(const SCT_ForwardModuleSideDesign &design)
Copy constructor:
virtual bool inActiveArea(const SiLocalPosition &chargePos, bool checkBondGap=true) const
check if the position is in active area
virtual ~SCT_ForwardModuleSideDesign()=default
Destructor:
virtual std::pair< SiLocalPosition, SiLocalPosition > endsOfStrip(const SiLocalPosition &position) const
this method returns the ends of the strip
virtual double maxWidth() const
Method to calculate maximum width of a module.
SCT_ForwardModuleSideDesign(const double thickness, const int crystals, const int diodes, const int cells, const int shift, const bool swapStripReadout, InDetDD::CarrierType carrierType, const double radius1, const double halfHeight1, const double radius2, const double halfHeight2, const double step, const double etaCenter, const double phiCenter, int readoutSide=-1)
Constructor with parameters: local axis corresponding to eta direction local axis corresponding to ph...
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
id -> position
double angularPitch() const
Angular pitch.
double sinStripAngleReco(double phiCoord, double etaCoord) const
Give strip angle in the reco frame.
virtual double minWidth() const
Method to calculate minimum width of a module.
virtual double scaledDistanceToNearestDiode(const SiLocalPosition &chargePos) const
give distance to the nearest diode in units of pitch, from 0.0 to 0.5, this method should be fast as ...
virtual double width() const
Method to calculate average width of a module.
virtual double phiPitch() const
Pitch in phi direction.
Geometry descriptor holding strig number, crystel inner and outer half length & radius.
int diodes() const
number of strips within crystal:
int cells() const
number of readout stips within module side:
int crystals() const
number of crystals within module side:
int shift() const
number of edge strips before first readout strip.
SCT_ModuleSideDesign(const double thickness, const bool phiSymmetric, const bool etaSymmetric, const bool depthSymmetric, const int crystals, const int diodes, const int cells, const int shift, const bool swapStripReadout, InDetDD::CarrierType carrierType, int readoutSide)
Constructor with parameters: local axis corresponding to eta direction local axis corresponding to ph...
Identifier for the strip or pixel cell.
Class to handle the position of the centre and the width of a diode or a cluster of diodes Version 1....
Class to represent a position in the natural frame of a silicon sensor, for Pixel and SCT For Pixel: ...
Abstract base class for surface bounds to be specified.
Bounds for a trapezoidal, planar Surface.
Ensure that the ATLAS eigen extensions are properly loaded.