5#ifndef ACTSGEOMETRY_ACTSDETECTORELEMENT_H
6#define ACTSGEOMETRY_ACTSDETECTORELEMENT_H
11#include "GeoModelKernel/GeoVDetectorElement.h"
19#include "Acts/Geometry/GeometryContext.hpp"
20#include "Acts/Utilities/PointerTraits.hpp"
47template <Acts::Po
interConcept ptr_t>
49 requires(std::is_base_of_v<Acts::Surface, Acts::RemovePointer_t<ptr_t>>) {
97 virtual const Acts::Transform3 &
100 const Acts::Surface &
surface()
const;
133 std::shared_ptr<const Acts::SurfaceBounds>
m_bounds{};
137 std::unique_ptr<const Amg::Transform3D>
m_trtTrf{};
145 return m_parent->localToGlobal(store);
const ActsDetectorElement * getActsDetectorElement(const Acts::Surface &surf)
Attempts to retrieve the ActsDetectorElement associated to the passed ActsSurface.
ActsDetectorElement(const InDetDD::SiDetectorElement &detElem)
Identifier m_explicitIdentifier
std::unique_ptr< const Amg::Transform3D > m_trtTrf
ActsTrk::GeometryContext::AlignmentStore AlignmentStore
const Acts::Transform3 & getDefaultTransform() const
Returns default transform.
ActsTrk::DetectorType DetectorType
const Acts::Transform3 & localToGlobalTransform(const Acts::GeometryContext &tgContext) const
const Trk::Surface & atlasSurface() const
Return a shared pointer on the ATLAS surface associated with this identifier,.
double m_thickness
Thickness of this detector element.
const Acts::Surface & surface() const
Return surface associated with this identifier, which should come from the.
DetectorType detectorType() const override final
Detector type.
ActsTrk::ReadoutSurfacePositioning< ActsDetectorElement > m_trfCache
virtual ~ActsDetectorElement()=default
Destructor.
std::shared_ptr< const Acts::SurfaceBounds > m_bounds
Boundaries of the detector element.
Identifier identify() const override final
Identifier.
IdentifierHash identifyHash() const
Identifier hash.
IdentityHelper identityHelper() const
virtual unsigned int storeAlignedTransforms(ActsTrk::DetectorAlignStore &alignStore) const override
Caches the aligned transformation in the provided store.
std::shared_ptr< ActsTrk::SurfacePlacement > m_surfHolder
const GeoVDetectorElement * m_detElement
Detector element as variant.
double thickness() const
Returns the thickness of the module.
const GeoVDetectorElement * upstreamDetectorElement() const
Returns the underllying GeoModel detectorelement that this one is based on.
Amg::Transform3D localToGlobal(const ActsTrk::DetectorAlignStore *store) const
ActsTrk::DetectorAlignStore AlignmentStore
ATLAS interface of a detector element.
Extension to handle the caching process of the transform held by the cache.
Amg::Transform3D fetchTransform(const DetectorAlignStore *store) const override final
const ActsDetectorElement * m_parent
This is a "hash" representation of an Identifier.
Class to hold geometrical description of an HGTD detector element.
Class to hold geometrical description of a silicon detector element.
Virtual base class of TRT readout elements.
Abstract Base Class for tracking surfaces.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
This class is not to needed in AthSimulation.
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.