ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_DetectorElement.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// HGTD_DetectorElement.h, (c) ATLAS Detector software
8
9#ifndef HGTD_READOUTGEOMETRY_HGTD_DETECTORELEMENT_H
10#define HGTD_READOUTGEOMETRY_HGTD_DETECTORELEMENT_H
11
12// Base class.
14
15// Data member classes
16#include "Identifier/Identifier.h"
23#include "CLHEP/Geometry/Point3D.h"
25
26class AtlasDetectorID;
27class GeoVFullPhysVol;
28
29namespace InDetDD {
30
39
41
43 // Public methods:
45public:
46
49 const HGTD_ModuleDesign *design,
50 const GeoVFullPhysVol *geophysvol,
51 const SiCommonItems * commonItems,
52 const GeoAlignmentStore* geoAlignStore=nullptr);
53
55 virtual ~HGTD_DetectorElement();
56
58 //
61 //
63
65 Identifier identifierFromCellId(const SiCellId & cellId) const override final;
66
68 SiCellId cellIdFromIdentifier(const Identifier & identifier) const override final;
69
71 //
73 //
75
77 virtual const std::vector<const Trk::Surface*>& surfaces() const;
78
80 //
84
86 double get_rz() const override final;
88
90 //
92 //
94
95
97 const HGTD_ModuleDesign &design() const override final;
98
99 // carrier type for readout. ie electrons for pixels.
101
103
105 // Protected data:
107protected:
108
115};
116
118// Inline methods:
120
122{
123 return static_cast<const HGTD_ModuleDesign&> (SolidStateDetectorElementBase::design());
124}
125
130
131} // namespace InDetDD
132
133#endif // HGTD_READOUTGEOMETRY_HGTD_DETECTORELEMENT_H
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Cached value with atomic update.
Definition CachedValue.h:55
Ensure that the extensions for the Vector3D are properly loaded.
const HGTD_ModuleDesign & design() const override final
access to the local description:
HGTD_DetectorElement(const Identifier &id, const HGTD_ModuleDesign *design, const GeoVFullPhysVol *geophysvol, const SiCommonItems *commonItems, const GeoAlignmentStore *geoAlignStore=nullptr)
Constructor:
InDetDD::CarrierType carrierType() const
Return carrier type (ie electrons or holes)
Identifier identifierFromCellId(const SiCellId &cellId) const override final
Identifier from SiCellId (ie pixel eta_index,phi_index)
SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
const HGTD_ModuleDesign & design() const override final
access to the local description:
HGTD_DetectorElement(const Identifier &id, const HGTD_ModuleDesign *design, const GeoVFullPhysVol *geophysvol, const SiCommonItems *commonItems, const GeoAlignmentStore *geoAlignStore=nullptr)
Constructor:
virtual ~HGTD_DetectorElement()
Destructor:
virtual const std::vector< const Trk::Surface * > & surfaces() const
Returns the full list of surfaces associated to this detector element.
InDetDD::CarrierType carrierType() const
double get_rz() const override final
CxxUtils::CachedValue< std::vector< const Trk::Surface * > > m_surfaces
Class used to describe the design of a module (diode segmentation and readout scheme)
Helper class to concentrate common items, such as the pointer to the IdHelper, the lorentzAngle tool ...
virtual const DetectorDesign & design() const
access to the local description (inline):
SolidStateDetectorElementBase(const Identifier &id, const DetectorDesign *design, const GeoVFullPhysVol *geophysvol, const SiCommonItems *commonItems, const GeoAlignmentStore *geoAlignStore=nullptr)
Constructor with parameters.
Identifier for the strip or pixel cell.
Definition SiCellId.h:29
Message Stream Member.