|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKGEOMETRY_IAPPROACHDESCRIPTOR_H
10 #define TRKGEOMETRY_IAPPROACHDESCRIPTOR_H
32 for (
auto&
sf : (*
this)) {
58 std::unique_ptr<Surface> aSurfaceArraySurface =
nullptr)
107 for (
auto& aSurfaces : aSurfaceObjects) {
116 aSurface->associateLayer(lay);
122 #endif // TRKGEOMETRY_IAPPROACHDESCRIPTOR_H
IApproachDescriptor(std::unique_ptr< ApproachSurfaces > aSurfaces, bool rebuild=true)
virtual const ApproachSurfaces * approachSurfaces(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const =0
get the compatible surfaces
std::unique_ptr< Surface > m_approachSurfaceArraySurface
std::unique_ptr< ApproachSurfaces > m_approachSurfaces
void registerLayerToSurfaces(const Layer &lay, const ApproachSurfaces &aSurfaces)
std::unique_ptr< BinnedArray< const ApproachSurfaces > > m_approachSurfaceArray
void registerLayer(const Layer &lay)
IApproachDescriptor(const IApproachDescriptor &)=delete
IApproachDescriptor & operator=(const IApproachDescriptor &)=delete
IApproachDescriptor(std::unique_ptr< BinnedArray< const ApproachSurfaces >> aSurfaceArray, std::unique_ptr< Surface > aSurfaceArraySurface=nullptr)
Ensure that the ATLAS eigen extensions are properly loaded.
Eigen::Matrix< double, 3, 1 > Vector3D
virtual ~IApproachDescriptor()=default
std::span< T > BinnedArraySpan