ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
InDetReadoutGeometry
InDetReadoutGeometry
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
14
#include "
GeoPrimitives/GeoPrimitives.h
"
15
#include "
TrkSurfaces/SurfaceBounds.h
"
16
17
#include <memory>
18
19
namespace
InDetDD
{
20
34
class
SurfaceCacheBase
35
{
36
37
public
:
38
SurfaceCacheBase
(
const
Amg::Transform3D
&
transform
,
39
const
Amg::Vector3D
&
center
);
40
42
SurfaceCacheBase
() =
default
;
44
~SurfaceCacheBase
() =
default
;
46
SurfaceCacheBase
(
SurfaceCacheBase
&&) =
default
;
48
SurfaceCacheBase
&
operator=
(
SurfaceCacheBase
&&) =
default
;
50
SurfaceCacheBase
(
const
SurfaceCacheBase
&) =
delete
;
52
SurfaceCacheBase
&
operator=
(
const
SurfaceCacheBase
&) =
delete
;
53
54
const
Amg::Transform3D
&
transform
()
const
{
return
(
m_transform
); }
55
56
const
Amg::Vector3D
&
center
()
const
{
return
(
m_center
); }
57
58
private
:
59
Amg::Transform3D
m_transform
{};
60
Amg::Vector3D
m_center
{};
61
};
62
63
inline
SurfaceCacheBase::SurfaceCacheBase
(
const
Amg::Transform3D
&
transform
,
64
const
Amg::Vector3D
&
center
)
65
:
m_transform
(
transform
)
66
,
m_center
(
center
)
67
{}
68
69
class
SurfaceCache
:
public
SurfaceCacheBase
70
{
71
72
public
:
73
SurfaceCache
(
const
Amg::Transform3D
&
transform
,
74
const
Amg::Vector3D
&
center
,
75
const
Amg::Vector3D
&
normal
,
76
std::unique_ptr<Trk::SurfaceBounds>
bounds
);
78
SurfaceCache
() =
default
;
80
~SurfaceCache
() =
default
;
82
SurfaceCache
(
SurfaceCache
&&) =
default
;
84
SurfaceCache
&
operator=
(
SurfaceCache
&&) =
default
;
86
SurfaceCache
(
const
SurfaceCache
&) =
delete
;
88
SurfaceCache
&
operator=
(
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
94
private
:
95
Amg::Vector3D
m_normal
;
96
std::unique_ptr<Trk::SurfaceBounds>
m_bounds
=
nullptr
;
97
};
98
99
inline
SurfaceCache::SurfaceCache
(
const
Amg::Transform3D
&
transform
,
100
const
Amg::Vector3D
&
center
,
101
const
Amg::Vector3D
&
normal
,
102
std::unique_ptr<Trk::SurfaceBounds>
bounds
)
103
:
SurfaceCacheBase
(
transform
,
center
)
104
,
m_normal
(
normal
)
105
,
m_bounds
(
std
::move(
bounds
))
106
{}
107
108
}
// end namespace
109
110
#endif
// InDetReadoutGeometry_SurfaceCache_h
GeoPrimitives.h
SurfaceBounds.h
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase()=default
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase(const Amg::Transform3D &transform, const Amg::Vector3D ¢er)
Definition
SurfaceCache.h:63
InDetDD::SurfaceCacheBase::operator=
SurfaceCacheBase & operator=(const SurfaceCacheBase &)=delete
delete assignment
InDetDD::SurfaceCacheBase::m_transform
Amg::Transform3D m_transform
Definition
SurfaceCache.h:59
InDetDD::SurfaceCacheBase::transform
const Amg::Transform3D & transform() const
Definition
SurfaceCache.h:54
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase(const SurfaceCacheBase &)=delete
delete copy c'tor
InDetDD::SurfaceCacheBase::~SurfaceCacheBase
~SurfaceCacheBase()=default
InDetDD::SurfaceCacheBase::operator=
SurfaceCacheBase & operator=(SurfaceCacheBase &&)=default
move assignment
InDetDD::SurfaceCacheBase::m_center
Amg::Vector3D m_center
Definition
SurfaceCache.h:60
InDetDD::SurfaceCacheBase::center
const Amg::Vector3D & center() const
Definition
SurfaceCache.h:56
InDetDD::SurfaceCacheBase::SurfaceCacheBase
SurfaceCacheBase(SurfaceCacheBase &&)=default
move c'tor
InDetDD::SurfaceCache::normal
const Amg::Vector3D & normal() const
Definition
SurfaceCache.h:90
InDetDD::SurfaceCache::m_normal
Amg::Vector3D m_normal
Definition
SurfaceCache.h:95
InDetDD::SurfaceCache::m_bounds
std::unique_ptr< Trk::SurfaceBounds > m_bounds
Definition
SurfaceCache.h:96
InDetDD::SurfaceCache::~SurfaceCache
~SurfaceCache()=default
InDetDD::SurfaceCache::operator=
SurfaceCache & operator=(const SurfaceCache &)=delete
delete assignment
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache(const Amg::Transform3D &transform, const Amg::Vector3D ¢er, const Amg::Vector3D &normal, std::unique_ptr< Trk::SurfaceBounds > bounds)
Definition
SurfaceCache.h:99
InDetDD::SurfaceCache::operator=
SurfaceCache & operator=(SurfaceCache &&)=default
move assignment
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache(const SurfaceCache &)=delete
delete copy c'tor
InDetDD::SurfaceCache::bounds
const Trk::SurfaceBounds * bounds() const
Definition
SurfaceCache.h:92
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache()=default
InDetDD::SurfaceCache::SurfaceCache
SurfaceCache(SurfaceCache &&)=default
move c'tor
Trk::SurfaceBounds
Abstract base class for surface bounds to be specified.
Definition
SurfaceBounds.h:47
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0