ATLAS Offline Software
Loading...
Searching...
No Matches
IDetectorElement.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef ACTSGEOMETRYINTERFACES_IDETECTORELEMENT_H
5#define ACTSGEOMETRYINTERFACES_IDETECTORELEMENT_H
6
10#ifndef SIMULATIONBASE
11# include "Acts/Surfaces/SurfacePlacementBase.hpp"
12#endif
15#include "Identifier/Identifier.h"
16
23namespace ActsTrk {
29#ifndef SIMULATIONBASE
30 : public Acts::SurfacePlacementBase
31#endif
32 {
33 public:
37 virtual Identifier identify() const = 0;
39 virtual DetectorType detectorType() const = 0;
40#ifndef SIMULATIONBASE
41 using Acts::SurfacePlacementBase::localToGlobalTransform;
42#endif
47 virtual const Amg::Transform3D& localToGlobalTransform(const DetectorAlignStore* store) const = 0;
48 };
49
51 public:
53 virtual ~IDetectorElement() = default;
55 virtual unsigned storeAlignedTransforms(const DetectorAlignStore& store) const = 0;
56 };
57} // namespace ActsTrk
58
59#endif
base class interface providing the bare minimal interface extension.
virtual const Amg::Transform3D & localToGlobalTransform(const DetectorAlignStore *store) const =0
Returns the reference to the aligned local to global transform from the StoreObject actually holding ...
virtual DetectorType detectorType() const =0
Returns the detector element type.
~IDetectorElementBase()=default
Default destructor.
virtual Identifier identify() const =0
Return the ATLAS identifier.
Base class interface for the actual readout elements.
virtual unsigned storeAlignedTransforms(const DetectorAlignStore &store) const =0
Caches the aligned transformation in the provided store.
virtual ~IDetectorElement()=default
Default destructor.
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.
Eigen::Affine3d Transform3D