ATLAS Offline Software
Loading...
Searching...
No Matches
SurfaceCache.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SurfaceCache.h
8// (c) ATLAS Detector software
10
11#ifndef InDetReadoutGeometry_SurfaceCache_h
12#define InDetReadoutGeometry_SurfaceCache_h
13
16
17#include <memory>
18
19namespace InDetDD {
20
62
68
70{
71
72public:
74 const Amg::Vector3D& center,
75 const Amg::Vector3D& normal,
76 std::unique_ptr<Trk::SurfaceBounds> bounds);
78 SurfaceCache() = default;
80 ~SurfaceCache() = default;
86 SurfaceCache(const SurfaceCache&) = delete;
89
90 const Amg::Vector3D& normal() const { return (m_normal); }
91
92 const Trk::SurfaceBounds* bounds() const { return (m_bounds.get()); }
93
94private:
96 std::unique_ptr<Trk::SurfaceBounds> m_bounds = nullptr;
97};
98
100 const Amg::Vector3D& center,
101 const Amg::Vector3D& normal,
102 std::unique_ptr<Trk::SurfaceBounds> bounds)
105 , m_bounds(std::move(bounds))
106{}
107
108} // end namespace
109
110#endif // InDetReadoutGeometry_SurfaceCache_h
SurfaceCacheBase(const Amg::Transform3D &transform, const Amg::Vector3D &center)
SurfaceCacheBase & operator=(const SurfaceCacheBase &)=delete
delete assignment
Amg::Transform3D m_transform
const Amg::Transform3D & transform() const
SurfaceCacheBase(const SurfaceCacheBase &)=delete
delete copy c'tor
SurfaceCacheBase & operator=(SurfaceCacheBase &&)=default
move assignment
const Amg::Vector3D & center() const
SurfaceCacheBase(SurfaceCacheBase &&)=default
move c'tor
const Amg::Vector3D & normal() const
Amg::Vector3D m_normal
std::unique_ptr< Trk::SurfaceBounds > m_bounds
SurfaceCache & operator=(const SurfaceCache &)=delete
delete assignment
SurfaceCache(const Amg::Transform3D &transform, const Amg::Vector3D &center, const Amg::Vector3D &normal, std::unique_ptr< Trk::SurfaceBounds > bounds)
SurfaceCache & operator=(SurfaceCache &&)=default
move assignment
SurfaceCache(const SurfaceCache &)=delete
delete copy c'tor
const Trk::SurfaceBounds * bounds() const
SurfaceCache(SurfaceCache &&)=default
move c'tor
Abstract base class for surface bounds to be specified.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Message Stream Member.
STL namespace.