ATLAS Offline Software
SolidStateDetectorElementBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #ifndef READOUTGEOMETRYBASE_SOLIDSTATEDETECTORELEMENTBASE_H
10 #define READOUTGEOMETRYBASE_SOLIDSTATEDETECTORELEMENTBASE_H
11 
19 #include "GeoModelKernel/GeoDefinitions.h"
20 #include "Identifier/Identifier.h"
29 #include "CxxUtils/CachedValue.h"
30 
31 #include "CLHEP/Geometry/Point3D.h"
32 
33 #include <limits>
34 #include <memory>
35 
36 class AtlasDetectorID;
37 class GeoAlignmentStore;
38 class GeoVFullPhysVol;
39 
40 namespace Trk {
41  class SurfaceBounds;
42 }
43 
44 namespace InDetDD {
45 
46  class SiReadoutCellId;
47 
133 
134  public:
135 
140  const DetectorDesign* design,
141  const GeoVFullPhysVol* geophysvol,
142  const SiCommonItems* commonItems,
143  const GeoAlignmentStore* geoAlignStore=nullptr);
144 
149 
154 
159 
164 
169 
174 
185  void invalidate();
186 
190  void setCache();
192 
200 
206 
210  virtual Identifier identify() const override final;
211 
215  virtual IdentifierHash identifyHash() const override final;
216 
221 
231 
233 
242  virtual const Trk::Surface& surface() const override final;
246  virtual const Trk::Surface& surface(const Identifier&) const override final;
255 
260  virtual const Amg::Transform3D& transform() const override final;
264  virtual const Amg::Transform3D& transform(const Identifier&) const override final;
265 
272 
278 
282  //{@
283 
297 
322 
326  virtual const Amg::Vector3D& normal() const override final;
330  virtual const Amg::Vector3D& normal(const Identifier&) const override final;
331 
333 
341  virtual const Amg::Vector3D& center() const override final;
345  virtual const Amg::Vector3D& center(const Identifier&) const override final;
346 
349  virtual Trk::DetectorElemType detectorType() const override;
350 
354  HepGeom::Point3D<double> globalPositionHit(const HepGeom::Point3D<double>& simulationLocalPos) const;
356 
360  HepGeom::Point3D<double> globalPosition(const HepGeom::Point3D<double>& localPos) const;
362 
367 
372  Amg::Vector2D hitLocalToLocal(double xEta, double xPhi) const;
376  HepGeom::Point3D<double> hitLocalToLocal3D(const HepGeom::Point3D<double>& hitPosition) const;
377 
383 
385 
386 
392  double rMin() const;
393  double rMax() const;
394  double zMin() const;
395  double zMax() const;
396  double phiMin() const;
397  double phiMax() const;
398 
405  void getEtaPhiRegion(double deltaZ,
406  double& etaMin, double& etaMax,
407  double& phiMin, double& phiMax,
408  double& rz) const;
410  virtual double get_rz() const = 0;
411 
416 
422 
423  virtual const Trk::SurfaceBounds& bounds() const override final;
427  virtual const Trk::SurfaceBounds& bounds(const Identifier&) const override final;
428 
434  double width() const;
438  double minWidth() const;
442  double maxWidth() const;
446  double length() const;
447  double thickness() const;
448 
462  double etaPitch() const;
463  double phiPitch() const;
464 
469 
480 
482 
487 
497  SiIntersect inDetector(const Amg::Vector2D& localPosition, double phiTol, double etaTol) const;
498  SiIntersect inDetector(const Amg::Vector3D& globalPosition, double phiTol, double etaTol) const;
500 
515 
525 
535 
547 
551  virtual void updateCache() const;
552 
559  double depthAngle() const;
560  double etaAngle() const;
561  double phiAngle() const;
562 
563  protected:
564  struct CachedVals;
565  private:
566 
576  void commonConstructor();
577 
583  void getExtent(CachedVals& cache) const;
584 
590  void getCorners(HepGeom::Point3D<double>* corners) const;
591 
597  void getEtaPhiPoint(const HepGeom::Point3D<double>& point, double deltaZ,
598  double& etaMin, double& etaMax, double& phi) const;
599 
603  MsgStream& msg(MSG::Level lvl) const;
604 
608  bool msgLvl(MSG::Level lvl) const;
610 
614  protected:
619 
624 
628  const DetectorDesign* m_design{nullptr};
629 
630  const SiCommonItems* m_commonItems{nullptr};
631  std::unique_ptr<Trk::Surface> m_surface;
633 
641 
651 
659  struct AxisDir
660  {
668 
669  double m_depthAngle;
670  double m_phiAngle;
671  double m_etaAngle;
672 
680  };
682 
684 
689  struct CachedVals {
695  HepGeom::Vector3D<double> m_etaAxisCLHEP;
697  HepGeom::Vector3D<double> m_phiAxisCLHEP;
699  HepGeom::Vector3D<double> m_centerCLHEP;
701  double m_minZ;
702  double m_maxZ;
703  double m_minR;
704  double m_maxR;
705  double m_minPhi;
706  double m_maxPhi;
707  };
709 
711 
712  };
713 
714 } // namespace InDetDD
715 
720 
721 #endif // INDETREADOUTGEOMETRY_SIDETECTORELEMENTBASE_H
InDetDD::SolidStateDetectorElementBase::hitLocalToLocal3D
HepGeom::Point3D< double > hitLocalToLocal3D(const HepGeom::Point3D< double > &hitPosition) const
Same as previuos method but 3D.
Definition: SolidStateDetectorElementBase.cxx:117
InDetDD::SolidStateDetectorElementBase::identifierOfPosition
Identifier identifierOfPosition(const Amg::Vector2D &localPos) const
Full identifier of the cell for a given position: assumes a raw local position (no Lorentz shift)
Definition: SolidStateDetectorElementBase.cxx:217
GeoAlignmentStore
Ensure that the extensions for the Vector3D are properly loaded.
Definition: GeoAlignmentStore.h:24
InDetDD::SolidStateDetectorElementBase::transformCLHEP
const HepGeom::Transform3D & transformCLHEP() const
Local (reconstruction frame) to global transform.
Definition: SolidStateDetectorElementBase.cxx:43
TrkDetElementBase.h
InDetDD::SolidStateDetectorElementBase::~SolidStateDetectorElementBase
virtual ~SolidStateDetectorElementBase()
Destructor.
InDetDD::SolidStateDetectorElementBase::CachedVals::m_maxPhi
double m_maxPhi
Definition: SolidStateDetectorElementBase.h:706
InDetDD::SolidStateDetectorElementBase::connectedCell
SiCellId connectedCell(const SiCellId cellId, int number) const
Get the cell ids sharing the readout for this cell.
Definition: SolidStateDetectorElementBase.cxx:250
InDetDD::SolidStateDetectorElementBase::CachedVals::m_center
Amg::Vector3D m_center
Definition: SolidStateDetectorElementBase.h:698
InDetDD::SolidStateDetectorElementBase::cellIdOfPosition
SiCellId cellIdOfPosition(const Amg::Vector2D &localPos) const
As in previous method but returns SiCellId.
Definition: SolidStateDetectorElementBase.cxx:224
InDetDD::SolidStateDetectorElementBase::m_commonItems
const SiCommonItems * m_commonItems
Definition: SolidStateDetectorElementBase.h:630
InDetDD::SolidStateDetectorElementBase::getExtent
void getExtent(CachedVals &cache) const
Calculate extent in r,z and phi.
Definition: SolidStateDetectorElementBase.cxx:483
InDetDD::SolidStateDetectorElementBase::AxisDir
Definition: SolidStateDetectorElementBase.h:660
InDetDD::SolidStateDetectorElementBase::phiMax
double phiMax() const
InDetDD::SolidStateDetectorElementBase::getCorners
void getCorners(HepGeom::Point3D< double > *corners) const
Return the four corners of an element in local coordinates.
Definition: SolidStateDetectorElementBase.cxx:551
InDetDD::SolidStateDetectorElementBase
Definition: SolidStateDetectorElementBase.h:132
InDetDD::SolidStateDetectorElementBase::depthDirection
bool depthDirection() const
Return information on orientation.
InDetDD::SolidStateDetectorElementBase::inDetector
SiIntersect inDetector(const Amg::Vector2D &localPosition, double phiTol, double etaTol) const
Test that it is in the active region.
Definition: SolidStateDetectorElementBase.cxx:204
InDetDD::SolidStateDetectorElementBase::hitEtaDirection
double hitEtaDirection() const
See previous method.
InDetDD::SolidStateDetectorElementBase::etaAngle
double etaAngle() const
InDetDD::SolidStateDetectorElementBase::m_idHash
IdentifierHash m_idHash
hash id of this detector element
Definition: SolidStateDetectorElementBase.h:649
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
InDetDD::SolidStateDetectorElementBase::phiAxisCLHEP
const HepGeom::Vector3D< double > & phiAxisCLHEP() const
To determine if readout direction between online and offline needs swapping, see methods swapPhiReado...
Definition: SolidStateDetectorElementBase.cxx:67
InDetDD::SolidStateDetectorElementBase::AxisDir::m_phiDirection
bool m_phiDirection
Definition: SolidStateDetectorElementBase.h:666
InDetDD::SolidStateDetectorElementBase::CachedVals::m_normal
Amg::Vector3D m_normal
Definition: SolidStateDetectorElementBase.h:693
InDetDD::SolidStateDetectorElementBase::center
virtual const Amg::Vector3D & center() const override final
Center in global coordinates.
InDetDD::SolidStateDetectorElementBase::CachedVals::m_minPhi
double m_minPhi
Definition: SolidStateDetectorElementBase.h:705
InDetDD::SolidStateDetectorElementBase::CachedVals::m_origin
Amg::Vector3D m_origin
Definition: SolidStateDetectorElementBase.h:700
InDetDD::SolidStateDetectorElementBase::etaAxis
const Amg::Vector3D & etaAxis() const
Definition: SolidStateDetectorElementBase.cxx:88
InDetDD::SolidStateDetectorElementBase::AxisDir::m_etaDirection
bool m_etaDirection
Definition: SolidStateDetectorElementBase.h:667
InDetDD::SolidStateDetectorElementBase::hitPhiDirection
double hitPhiDirection() const
See previous method.
InDetDD::SolidStateDetectorElementBase::SolidStateDetectorElementBase
SolidStateDetectorElementBase()=delete
Don't allow no-argument constructor.
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
InDetDD::SolidStateDetectorElementBase::surface
Trk::Surface & surface()
Element Surface.
InDetDD::SolidStateDetectorElementBase::m_geoAlignStore
const GeoAlignmentStore * m_geoAlignStore
Definition: SolidStateDetectorElementBase.h:632
xAOD::etaMax
etaMax
Definition: HIEventShape_v2.cxx:46
InDetDD::SolidStateDetectorElementBase::carrierType
InDetDD::CarrierType carrierType() const
carrier type for readout.
SolidStateDetectorElementBase.icc
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
InDetDD::DetectorDesign::Axis
Axis
Definition: DetectorDesign.h:59
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
InDetDD::SolidStateDetectorElementBase::msgLvl
bool msgLvl(MSG::Level lvl) const
Declaring the Method providing Verbosity Level (inline)
InDetDD::SolidStateDetectorElementBase::setCache
void setCache()
Set/calculate cache values (inline)
InDetDD::SolidStateDetectorElementBase::getEtaPhiRegion
void getEtaPhiRegion(double deltaZ, double &etaMin, double &etaMax, double &phiMin, double &phiMax, double &rz) const
Method for building up region of interest table.
Definition: SolidStateDetectorElementBase.cxx:140
InDetDD::SolidStateDetectorElementBase::phiAngle
double phiAngle() const
InDetDD::SolidStateDetectorElementBase::rMin
double rMin() const
ParamDefs.h
InDetDD::SolidStateDetectorElementBase::etaPitch
double etaPitch() const
Pitch (inline methods)
InDetDD::SolidStateDetectorElementBase::CachedVals::m_phiAxis
Amg::Vector3D m_phiAxis
Definition: SolidStateDetectorElementBase.h:696
InDetDD::SolidStateDetectorElementBase::identifyHash
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
InDetDD::SolidStateDetectorElementBase::getIdHelper
const AtlasDetectorID * getIdHelper() const
Returns the id helper (inline)
InDetDD::SolidStateDetectorElementBase::CachedVals
Definition: SolidStateDetectorElementBase.h:689
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
SiIntersect.h
InDetDD::SolidStateDetectorElementBase::m_cache
CxxUtils::CachedValue< CachedVals > m_cache
Definition: SolidStateDetectorElementBase.h:708
InDetDD::SolidStateDetectorElementBase::m_surface
std::unique_ptr< Trk::Surface > m_surface
Definition: SolidStateDetectorElementBase.h:631
InDetDD::SolidStateDetectorElementBase::hitDepthDirection
double hitDepthDirection() const
Directions of hit depth,phi,eta axes relative to reconstruction local position axes (LocalPosition).
InDetDD::SolidStateDetectorElementBase::identifierFromCellId
virtual Identifier identifierFromCellId(const SiCellId &cellId) const =0
Identifier <-> SiCellId (ie strip number or pixel eta_index,phi_index) Identifier from SiCellId (ie s...
GeoPrimitives.h
InDetDD::SolidStateDetectorElementBase::getEtaPhiPoint
void getEtaPhiPoint(const HepGeom::Point3D< double > &point, double deltaZ, double &etaMin, double &etaMax, double &phi) const
Get eta and phi coresponding to a point in local coordinates.
Definition: SolidStateDetectorElementBase.cxx:589
InDetDD::SolidStateDetectorElementBase::m_design
const DetectorDesign * m_design
local description of this detector element
Definition: SolidStateDetectorElementBase.h:628
InDetDD::SolidStateDetectorElementBase::defTransform
const Amg::Transform3D defTransform() const
Definition: SolidStateDetectorElementBase.cxx:60
InDetDD::SolidStateDetectorElementBase::recoToHitTransform
const HepGeom::Transform3D recoToHitTransform() const
Transform to go from local reconstruction frame to local hit frame.
Definition: SolidStateDetectorElementBase.cxx:607
InDetDD::SolidStateDetectorElementBase::numberOfConnectedCells
int numberOfConnectedCells(const SiCellId cellId) const
Test if readout cell has more than one diode associated with it.
Definition: SolidStateDetectorElementBase.cxx:243
InDetDD_Defs.h
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
InDetDD::SolidStateDetectorElementBase::thickness
double thickness() const
InDetDD::SolidStateDetectorElementBase::commonConstructor
void commonConstructor()
Common code for constructors.
Definition: SolidStateDetectorElementBase.cxx:257
InDetDD::SolidStateDetectorElementBase::get_rz
virtual double get_rz() const =0
MSG
Definition: MsgLevel.h:28
SiCommonItems.h
InDetDD::SolidStateDetectorElementBase::CachedVals::m_minR
double m_minR
Definition: SolidStateDetectorElementBase.h:703
InDetDD::SolidStateDetectorElementBase::design
virtual const DetectorDesign & design() const
access to the local description (inline):
InDetDD::SolidStateDetectorElementBase::updateCache
virtual void updateCache() const
Recalculate cached values.
Definition: SolidStateDetectorElementBase.cxx:272
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetDD::DetectorDesign
Definition: DetectorDesign.h:57
CxxUtils::CachedValue
Cached value with atomic update.
Definition: CachedValue.h:55
InDetDD::SolidStateDetectorElementBase::width
double width() const
Methods from design (inline)
InDetDD::SolidStateDetectorElementBase::CachedVals::m_phiAxisCLHEP
HepGeom::Vector3D< double > m_phiAxisCLHEP
Definition: SolidStateDetectorElementBase.h:697
InDetDD::SolidStateDetectorElementBase::depthAngle
double depthAngle() const
InDetDD::SolidStateDetectorElementBase::AxisDir::m_depthDirection
bool m_depthDirection
Direction of depth axis.
Definition: SolidStateDetectorElementBase.h:665
Trk::DetectorElemType
DetectorElemType
Definition: TrkDetElementBase.h:39
InDetDD::SolidStateDetectorElementBase::bounds
virtual const Trk::SurfaceBounds & bounds() const override final
Return the boundaries of the element.
Definition: SolidStateDetectorElementBase.cxx:198
InDetDD::SolidStateDetectorElementBase::swapEtaReadoutDirection
bool swapEtaReadoutDirection() const
For eta_index (only relevant for pixel) (inline)
InDetDD::SolidStateDetectorElementBase::CachedVals::m_maxZ
double m_maxZ
Definition: SolidStateDetectorElementBase.h:702
SiLocalPosition.h
InDetDD::SolidStateDetectorElementBase::normal
virtual const Amg::Vector3D & normal() const override final
Get reconstruction local normal axes in global frame.
InDetDD::SolidStateDetectorElementBase::AxisDir::m_phiAngle
double m_phiAngle
Definition: SolidStateDetectorElementBase.h:670
InDetDD::SolidStateDetectorElementBase::hitLocalToLocal
Amg::Vector2D hitLocalToLocal(double xEta, double xPhi) const
Simulation/Hit local frame to reconstruction local frame.
Definition: SolidStateDetectorElementBase.cxx:95
InDetDD::SolidStateDetectorElementBase::CachedVals::m_centerCLHEP
HepGeom::Vector3D< double > m_centerCLHEP
Definition: SolidStateDetectorElementBase.h:699
DetectorDesign.h
InDetDD::SolidStateDetectorElementBase::zMin
double zMin() const
CLHEPtoEigenConverter.h
InDetDD::SolidStateDetectorElementBase::globalPositionHit
HepGeom::Point3D< double > globalPositionHit(const HepGeom::Point3D< double > &simulationLocalPos) const
transform a hit local position into a global position (inline):
InDetDD::SolidStateDetectorElementBase::CachedVals::m_transformCLHEP
HepGeom::Transform3D m_transformCLHEP
Definition: SolidStateDetectorElementBase.h:692
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
InDetDD::SolidStateDetectorElementBase::rMax
double rMax() const
InDetDD::SolidStateDetectorElementBase::CachedVals::m_etaAxis
Amg::Vector3D m_etaAxis
Definition: SolidStateDetectorElementBase.h:694
CachedValue.h
Cached value with atomic update.
InDetDD::SolidStateDetectorElementBase::CachedVals::m_minZ
double m_minZ
Definition: SolidStateDetectorElementBase.h:701
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
python.selection.number
number
Definition: selection.py:20
InDetDD::SiCommonItems
Definition: SiCommonItems.h:45
InDetDD::SolidStateDetectorElementBase::m_hitDepth
DetectorDesign::Axis m_hitDepth
Definition: SolidStateDetectorElementBase.h:639
InDetDD::SolidStateDetectorElementBase::m_hitEta
DetectorDesign::Axis m_hitEta
Axes.
Definition: SolidStateDetectorElementBase.h:637
IdentifierHash.h
InDetDD::SolidStateDetectorElementBase::msg
MsgStream & msg(MSG::Level lvl) const
Declaring the Message method for further use (inline)
InDetDD::SolidStateDetectorElementBase::phiPitch
double phiPitch() const
InDetDD::SolidStateDetectorElementBase::m_hitPhi
DetectorDesign::Axis m_hitPhi
Definition: SolidStateDetectorElementBase.h:638
InDetDD::SolidStateDetectorElementBase::zMax
double zMax() const
InDetDD::SolidStateDetectorElementBase::etaDirection
bool etaDirection() const
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDetDD::SolidStateDetectorElementBase::operator=
SolidStateDetectorElementBase & operator=(SolidStateDetectorElementBase &&)=delete
Don't allow move assignment operator.
InDetDD::SolidStateDetectorElementBase::AxisDir::m_etaAngle
double m_etaAngle
Definition: SolidStateDetectorElementBase.h:671
InDetDD::SolidStateDetectorElementBase::CachedVals::m_etaAxisCLHEP
HepGeom::Vector3D< double > m_etaAxisCLHEP
Definition: SolidStateDetectorElementBase.h:695
HepGeom
Definition: VP1String.h:30
InDetDD::SiIntersect
Definition: SiIntersect.h:23
InDetDD::SiCellId
Definition: SiCellId.h:29
InDetDD::SolidStateDetectorElementBase::m_id
Identifier m_id
identifier of this detector element
Definition: SolidStateDetectorElementBase.h:623
InDetDD::SolidStateDetectorElementBase::rawLocalPositionOfCell
Amg::Vector2D rawLocalPositionOfCell(const SiCellId &cellId) const
Returns position (center) of cell.
Definition: SolidStateDetectorElementBase.cxx:230
InDetDD::SolidStateDetectorElementBase::CachedVals::m_transform
Amg::Transform3D m_transform
Definition: SolidStateDetectorElementBase.h:691
InDetDD::SolidStateDetectorElementBase::minWidth
double minWidth() const
Min width.
InDetDD::SolidStateDetectorElementBase::phiMin
double phiMin() const
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
InDetDD::CarrierType
CarrierType
Definition: InDetDD_Defs.h:17
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::SolidStateDetectorElementBase::globalPosition
HepGeom::Point3D< double > globalPosition(const HepGeom::Point3D< double > &localPos) const
transform a reconstruction local position into a global position (inline):
InDetDD::SolidStateDetectorElementBase::defTransformCLHEP
const HepGeom::Transform3D defTransformCLHEP() const
Default Local (reconstruction frame) to global transform ie with no misalignment.
Definition: SolidStateDetectorElementBase.cxx:50
InDetDD::SolidStateDetectorElementBase::phiAxis
const Amg::Vector3D & phiAxis() const
Definition: SolidStateDetectorElementBase.cxx:74
InDetDD::SolidStateDetectorElementBase::CachedVals::m_maxR
double m_maxR
Definition: SolidStateDetectorElementBase.h:704
InDetDD::SolidStateDetectorElementBase::swapPhiReadoutDirection
bool swapPhiReadoutDirection() const
Determine if readout direction between online and offline needs swapping.
InDetDD::SolidStateDetectorElementBase::invalidate
void invalidate()
Signal that cached values are no longer valid.
InDetDD::SolidStateDetectorElementBase::AxisDir::m_depthAngle
double m_depthAngle
Definition: SolidStateDetectorElementBase.h:669
InDetDD::SolidStateDetectorElementBase::detectorType
virtual Trk::DetectorElemType detectorType() const override
TrkDetElementBase interface detectorType.
InDetDD::SolidStateDetectorElementBase::etaAxisCLHEP
const HepGeom::Vector3D< double > & etaAxisCLHEP() const
Get reconstruction local eta axes in global frame.
Definition: SolidStateDetectorElementBase.cxx:81
InDetDD::SolidStateDetectorElementBase::localPosition
Amg::Vector2D localPosition(const HepGeom::Point3D< double > &globalPosition) const
transform a global position into a 2D local position (reconstruction frame) (inline)
InDetDD::SolidStateDetectorElementBase::length
double length() const
Length in eta direction (z - barrel, r - endcap)
InDetDD::SolidStateDetectorElementBase::SolidStateDetectorElementBase
SolidStateDetectorElementBase(SolidStateDetectorElementBase &&)=delete
Don't allow move constructor.
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
makeComparison.deltaZ
int deltaZ
Definition: makeComparison.py:46
InDetDD::SolidStateDetectorElementBase::SolidStateDetectorElementBase
SolidStateDetectorElementBase(const SolidStateDetectorElementBase &)=delete
Don't allow copy constructor.
InDetDD::SolidStateDetectorElementBase::getCommonItems
const SiCommonItems * getCommonItems() const
InDetDD::SolidStateDetectorElementBase::AxisDir::m_barrelLike
bool m_barrelLike
Definition: SolidStateDetectorElementBase.h:679
SiCellId.h
InDetDD::SolidStateDetectorElementBase::phiDirection
bool phiDirection() const
InDetDD::SolidStateDetectorElementBase::transformHit
const GeoTrf::Transform3D & transformHit() const
Local (simulation/hit frame) to global transform.
InDetDD::SolidStateDetectorElementBase::operator=
SolidStateDetectorElementBase & operator=(const SolidStateDetectorElementBase &)=delete
Don't allow assignment operator.
InDetDD::SolidStateDetectorElementBase::cellIdFromIdentifier
virtual SiCellId cellIdFromIdentifier(const Identifier &identifier) const =0
SiCellId from Identifier.
InDetDD::SolidStateDetectorElementBase::identify
virtual Identifier identify() const override final
identifier of this detector element (inline)
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
InDetDD::SolidStateDetectorElementBase::transform
virtual const Amg::Transform3D & transform() const override final
Return local to global transform.
InDetDD::SolidStateDetectorElementBase::m_axisDir
CxxUtils::CachedValue< AxisDir > m_axisDir
Definition: SolidStateDetectorElementBase.h:681
InDetDD::SolidStateDetectorElementBase::CachedVals::m_transformHit
Amg::Transform3D m_transformHit
Definition: SolidStateDetectorElementBase.h:690
InDetDD::SolidStateDetectorElementBase::maxWidth
double maxWidth() const
Max width.
Identifier
Definition: IdentifierFieldParser.cxx:14