ATLAS Offline Software
InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 namespace InDetDD {
18 
33 {
34 
35 public:
37  const Amg::Vector3D& center);
38 
40  SurfaceCacheBase() = default;
42  ~SurfaceCacheBase() = default;
51 
52  const Amg::Transform3D& transform() const { return (m_transform); }
53 
54  const Amg::Vector3D& center() const { return (m_center); }
55 
56 private:
59 };
60 
62  const Amg::Vector3D& center)
63  : m_transform(transform)
64  , m_center(center)
65 {}
66 
68 {
69 
70 public:
72  const Amg::Vector3D& center,
73  const Amg::Vector3D& normal,
74  std::unique_ptr<Trk::SurfaceBounds> bounds);
76  SurfaceCache() = default;
78  ~SurfaceCache() = default;
80  SurfaceCache(SurfaceCache&&) = default;
84  SurfaceCache(const SurfaceCache&) = delete;
86  SurfaceCache& operator=(const SurfaceCache&) = delete;
87 
88  const Amg::Vector3D& normal() const { return (m_normal); }
89 
90  const Trk::SurfaceBounds* bounds() const { return (m_bounds.get()); }
91 
92 private:
94  std::unique_ptr<Trk::SurfaceBounds> m_bounds = nullptr;
95 };
96 
98  const Amg::Vector3D& center,
99  const Amg::Vector3D& normal,
100  std::unique_ptr<Trk::SurfaceBounds> bounds)
101  : SurfaceCacheBase(transform, center)
102  , m_normal(normal)
103  , m_bounds(std::move(bounds))
104 {}
105 
106 } // end namespace
107 
108 #endif // InDetReadoutGeometry_SurfaceCache_h
InDetDD::SurfaceCacheBase::center
const Amg::Vector3D & center() const
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:54
InDetDD::SurfaceCacheBase::m_center
Amg::Vector3D m_center
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:58
InDetDD::SurfaceCache::normal
const Amg::Vector3D & normal() const
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:88
InDetDD::SurfaceCacheBase::~SurfaceCacheBase
~SurfaceCacheBase()=default
InDetDD::SurfaceCache::operator=
SurfaceCache & operator=(const SurfaceCache &)=delete
delete assignment
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase()=default
Trk::SurfaceBounds
Definition: SurfaceBounds.h:47
InDetDD::SurfaceCacheBase::m_transform
Amg::Transform3D m_transform
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:57
InDetDD::SurfaceCacheBase::transform
const Amg::Transform3D & transform() const
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:52
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase(const SurfaceCacheBase &)=delete
delete copy c'tor
InDetDD::SurfaceCache::m_normal
Amg::Vector3D m_normal
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:93
InDetDD::SurfaceCacheBase::operator=
SurfaceCacheBase & operator=(SurfaceCacheBase &&)=default
move assignment
GeoPrimitives.h
SurfaceBounds.h
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache()=default
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
InDetDD::SurfaceCache::operator=
SurfaceCache & operator=(SurfaceCache &&)=default
move assignment
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
InDetDD::SurfaceCacheBase
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:33
InDetDD::SurfaceCache::bounds
const Trk::SurfaceBounds * bounds() const
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:90
InDetDD::SurfaceCache
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:68
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase(SurfaceCacheBase &&)=default
move c'tor
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDetDD::SurfaceCache::~SurfaceCache
~SurfaceCache()=default
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache(const SurfaceCache &)=delete
delete copy c'tor
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache(SurfaceCache &&)=default
move c'tor
InDetDD::SurfaceCache::m_bounds
std::unique_ptr< Trk::SurfaceBounds > m_bounds
Definition: InnerDetector/InDetDetDescr/InDetReadoutGeometry/InDetReadoutGeometry/SurfaceCache.h:94
InDetDD::SurfaceCacheBase::operator=
SurfaceCacheBase & operator=(const SurfaceCacheBase &)=delete
delete assignment