|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_VOLUME_H
10 #define TRKVOLUMES_VOLUME_H
74 bool forceInside=
false)
const;
83 return Trk::s_idTransform;
90 m_center.set(std::make_unique<Amg::Vector3D>(std::as_const(*m_transform).translation()));
119 #endif // TRKVOLUMES_VOLUME_H
Volume & operator=(const Volume &vol)
Assignment operator.
Volume()
Default constructor.
bool inside(const Amg::Vector3D &gp, double tol=0.) const
Inside() method for checks.
CxxUtils::CachedUniquePtr< Amg::Vector3D > m_center
center position of the surface
Cached pointer with atomic update.
Eigen::Affine3d Transform3D
Cached unique_ptr with atomic update.
virtual Volume * clone() const
Pseudo-constructor.
const Amg::Vector3D & center() const
returns the center of the volume
ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool forceInside=false) const
Provide accessor for BoundarySurfaces.
Ensure that the ATLAS eigen extensions are properly loaded.
virtual ~Volume()
Destructor.
const Amg::Transform3D & transform() const
Return methods for geometry transform.
Eigen::Matrix< double, 3, 1 > Vector3D
std::shared_ptr< T > SharedObject
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
std::unique_ptr< Amg::Transform3D > m_transform
HepGeom::Transform3D.
SharedObject< VolumeBounds > m_volumeBounds
the volumeBounds
macros to associate a CLID to a type