|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   16 #include "GaudiKernel/MsgStream.h" 
   23                     std::shared_ptr<Trk::VolumeBounds> volbounds)
 
   24   : m_transform(std::move(htrans))
 
   25   , m_center(m_transform ? m_transform->translation() : 
Trk::s_origin)
 
   26   , m_volumeBounds(std::move(volbounds))
 
   31     : m_transform(vol.m_transform
 
   34       m_center(vol.m_center),
 
   35       m_volumeBounds(vol.m_volumeBounds) {}
 
   40                                         shift * (*(vol.m_transform)))
 
   42       m_center(shift * vol.m_center),
 
   43       m_volumeBounds(vol.m_volumeBounds) {}
 
   51                     ? std::make_unique<Amg::Transform3D>(*vol.
m_transform)
 
   75     return (volumeBounds()).inside(gp, tol);
 
   78   return (volumeBounds()).inside(posInVolFrame, tol);
 
   85   bool forceInside)
 const 
   89       volumeBounds().boundarySurfaceAccessor(gp, 
dir, forceInside));
 
  107   sl << 
"Trk::Volume with VolumeBounds :" << vol.
volumeBounds() << std::endl;
 
  
bool inside(const Amg::Vector3D &gp, double tol=0.) const
Inside() method for checks.
std::shared_ptr< VolumeBounds > m_volumeBounds
the volumeBounds
Volume()=default
Defaults copies are special due ot unique ptr data member
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
virtual Volume * clone() const
polymorpic deep copy
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.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
Volume & operator=(Volume &&)=default
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
std::unique_ptr< Amg::Transform3D > m_transform
Transform3D (optional)
Amg::Vector3D m_center
center position of the surface