 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef INDETREADOUTGEOMETRY_SIDETECTORELEMENT_H
10 #define INDETREADOUTGEOMETRY_SIDETECTORELEMENT_H
118 const GeoVFullPhysVol* geophysvol,
220 const std::vector<const Trk::Surface*>&
surfaces()
const;
510 #endif // INDETREADOUTGEOMETRY_SIDETECTORELEMENT_H
SiCellId gangedCell(const SiCellId &cellId) const
If cell is ganged return the id of the other cell which shares the readout for this cell,...
SiDetectorElement & operator=(const SiDetectorElement &)=delete
Don't allow assignment operator.
Ensure that the extensions for the Vector3D are properly loaded.
Amg::Transform3D localToModuleTransform() const
Transformation from local element to module frame.
void setOtherSide(const SiDetectorElement *element)
For SCT only.
const SiDetectorElement * m_prevInEta
void setPrevInEta(const SiDetectorElement *element)
Eigen::Matrix< double, 2, 1 > Vector2D
const std::vector< const Trk::Surface * > & surfaces() const
Returns the full list of surfaces associated to this detector element.
Amg::Transform3D localToModuleFrame(const Amg::Transform3D &localTransform) const
Take a transform of the local element frame and return its equivalent in the module frame.
void setPrevInPhi(const SiDetectorElement *element)
void setNextInEta(const SiDetectorElement *element)
SiDetectorElement(const SiDetectorElement &)=delete
Don't allow copy constructor.
bool const RAWDATA *ch2 const
CxxUtils::CachedValue< std::vector< const Trk::Surface * > > m_surfaces
SiDetectorElement()=delete
Don't allow no-argument constructor.
CxxUtils::CachedValue< bool > m_isStereo
bool swapEtaReadoutDirection() const
For eta_index (only relevant for pixel) (inline)
void commonConstructor()
Common code for constructors.
double sinTilt() const
Compute sin(tilt angle) at a given position: at center.
const SiDetectorDesign * m_siDesign
double phiPitch() const
Pitch (inline methods)
virtual SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
const SiDetectorElement * prevInEta() const
virtual ~SiDetectorElement()
Destructor.
const Amg::Transform3D & moduleTransform() const
Module to global frame transform.
bool isModuleFrame() const
Check if the element and module frame are the same.
virtual Trk::DetectorElemType detectorType() const override final
TrkDetElementBase interface detectorType.
bool swapPhiReadoutDirection() const
Determine if readout direction between online and offline needs swapping.
const SiDetectorElement * nextInPhi() const
virtual Identifier identifierFromCellId(const SiCellId &cellId) const override final
Identifier <-> SiCellId (ie strip number or pixel eta_index,phi_index) Identifier from SiCellId (ie s...
Eigen::Affine3d Transform3D
const SiDetectorElement * m_nextInPhi
bool msgLvl(MSG::Level lvl) const
Declaring the Method providing Verbosity Level (inline)
bool isInnermostPixelLayer() const
const SiDetectorElement * prevInPhi() const
double sinStereo() const
Compute sin(stereo angle) at a given position: at center.
std::pair< Amg::Vector3D, Amg::Vector3D > endsOfStrip(const Amg::Vector2D &position) const
Special method for SCT to retrieve the two ends of a "strip" Returned coordinates are in global frame...
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
Cached value with atomic update.
SiDetectorElement(SiDetectorElement &&)=delete
Don't allow move constructor.
const SiDetectorElement * otherSide() const
Useful for SCT only.
Amg::Transform3D defModuleTransform() const
Default module to global frame transform, ie with no misalignment.
Eigen::Matrix< double, 3, 1 > Vector3D
const SiDetectorElement * m_otherSide
void setNextInPhi(const SiDetectorElement *element)
const SiDetectorElement * nextInEta() const
SiDetectorElement & operator=(SiDetectorElement &&)=delete
Don't allow move assignment operator.
HepGeom::Point3D< double > globalPosition(const HepGeom::Point3D< double > &localPos) const
transform a reconstruction local position into a global position (inline):
double sinStereoLocal(const Amg::Vector2D &localPos) const
Angle of strip in local frame with respect to the etaAxis.
const SiDetectorElement * m_prevInPhi
const SiDetectorElement * m_nextInEta
virtual double get_rz() const override final
InDetDD::CarrierType carrierType() const
carrier type for readout.
double sinStereoImpl() const
Private implementation method with no lock at center.
bool nearBondGap(const Amg::Vector2D &localPosition, double etaTol) const
Test if near bond gap within tolerances.
Amg::Vector2D localPosition(const HepGeom::Point3D< double > &globalPosition) const
transform a global position into a 2D local position (reconstruction frame) (inline)
bool determineStereo() const
Find isStereo.
bool isStereo() const
Check if it is the stereo side (useful for SCT)
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
bool isNextToInnermostPixelLayer() const
MsgStream & msg(MSG::Level lvl) const
Declaring the Message method for further use (inline)