  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   13 #include "CLHEP/Units/SystemOfUnits.h" 
   14 #include "CLHEP/Geometry/Vector3D.h" 
   26                                const bool swapStripReadout,
 
   28                                const double stripPitch,
 
   29                                const double stripLength,
 
   30                                const double xEtaStripPatternCentre,
 
   31                                const double xPhiStripPatternCentre,
 
   32                                const double totalDeadLength,
 
   36                crystals,diodes,
cells,shift,swapStripReadout,carrierType,readoutSide),
 
   37   m_stripPitch(stripPitch),
 
   38   m_stripLength(stripLength),
 
   39   m_xEtaStripPatternCentre(xEtaStripPatternCentre),
 
   40   m_xPhiStripPatternCentre(xPhiStripPatternCentre),
 
   41   m_totalDeadLength(totalDeadLength)
 
   53     std::cout << 
"wrong number of crystals!\n";
 
   66                            double & etaDist, 
double & phiDist)
 const 
   72   double xEtaEdge = 0.5 * 
length();
 
   73   double xPhiEdge = 0.5 * 
width();
 
   76   etaDist = xEtaEdge - xEta;
 
   79   phiDist = xPhiEdge - xPhi;
 
   93                           bool checkBondGap)
 const  
  114     dstrip=dstrip-
static_cast<double>(
int(dstrip))-0.5;
 
  117     return std::abs(dstrip);
 
  128     std::pair<SiLocalPosition,SiLocalPosition> two_ends(end1,end2);
 
  158   HepGeom::Vector3D<double> segment;
 
  191   double clusterCenter = 
strip - 0.5*
cells() + 0.5;
 
  207   if (clusterSize < 1) clusterSize = 1;
 
  212   double clusterCenter = 
strip - 0.5*
cells() + 0.5;
 
  213   if (clusterSize>1) clusterCenter += 0.5 * (clusterSize-1);
 
  240   double xPhi=localPosition.
xPhi();
 
  242   if (dstrip < 0) 
return {}; 
 
  243   int strip = 
static_cast<int>(dstrip);
 
  
virtual SiDiodesParameters parameters(const SiCellId &cellId) const
readout or diode id -> position, size
 
Trk::RectangleBounds m_bounds
surface bound description
 
virtual double width() const
Method to calculate average width of a module.
 
virtual double maxWidth() const
Method to calculate maximum width of a module.
 
virtual int strip(int stripId1Dim) const
 
virtual bool inActiveArea(const SiLocalPosition &chargePos, bool checkBondGap=true) const
check if the position is in active area
 
virtual double minWidth() const
Method to calculate minimum width of a module.
 
virtual std::pair< SiLocalPosition, SiLocalPosition > endsOfStrip(const SiLocalPosition &position) const
this method returns the ends of the strip
 
int crystals() const
number of crystals within module side:
 
int shift() const
number of edge strips before first readout strip.
 
int strip() const
Get strip number. Equivalent to phiIndex().
 
double m_stripLength
strip length
 
int cells() const
number of readout stips within module side:
 
virtual HepGeom::Vector3D< double > phiMeasureSegment(const SiLocalPosition &) const
method for stereo angle computation - returns a vector parallel to the strip being hit
 
virtual double deadAreaLowerBoundary() const
give lower boundary of dead area
 
double xPhi() const
position along phi direction:
 
double m_xEtaStripPatternCentre
geom position on G4 volume, care needed
 
double m_xPhiStripPatternCentre
geom position on G4 volume, care needed
 
virtual double deadAreaLength() const
give length of dead area
 
double xEta() const
position along eta direction:
 
int diodes() const
number of strips within crystal:
 
double m_xEtaAbsSizeHigh
active area in xEta
 
virtual double scaledDistanceToNearestDiode(const SiLocalPosition &chargePos) const
distance to the nearest diode in units of pitch, from 0.0 to 0.5, this method should be fast as it is...
 
virtual SiCellId cellIdOfPosition(const SiLocalPosition &localPos) const
position -> id
 
virtual void distanceToDetectorEdge(const SiLocalPosition &localPosition, double &etaDist, double &phiDist) const
Returns distance to nearest detector active edge +ve = inside -ve = outside.
 
virtual double deadAreaUpperBoundary() const
give upper boundary of dead area
 
virtual bool nearBondGap(const SiLocalPosition &localPosition, double etaTol) const
Test if near bond gap within tolerances.
 
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
id -> position
 
double m_xPhiAbsSize
size in xPhi/2 for active area
 
double m_totalDeadLength
includes detector edge and gap between decetors
 
virtual SiLocalPosition localPositionOfCluster(const SiCellId &cellId, int clusterSize) const
 
Axis etaAxis() const
local axis corresponding to eta direction:
 
virtual const Trk::SurfaceBounds & bounds() const
Return the surface bounds.
 
SCT_BarrelModuleSideDesign()
 
virtual double length() const
Method to calculate length of a module.
 
double m_stripPitch
strip pitch, 80 um in barrel SCT