9#ifndef TRKGEOMETRYSURFACES_SUBTRACTEDCYLINDERSURFACE_H
10#define TRKGEOMETRYSURFACES_SUBTRACTEDCYLINDERSURFACE_H
43 std::shared_ptr<const AreaExcluder> vol,
63 double tol2 = 0.)
const override final;
71 return "Trk::SubtractedCylinderSurface";
Pure abstract base class.
CylinderSurface()
Default Constructor.
SubtractedCylinderSurface(const SubtractedCylinderSurface &psf)
Copy Constructor.
SubtractedCylinderSurface(SubtractedCylinderSurface &&)=default
const AreaExcluder * subtractedVolume() const
This method allows access to the subtracted part.
SubtractedCylinderSurface()=default
Defaults.
virtual ~SubtractedCylinderSurface()=default
virtual std::string name() const override final
Return properly formatted class name for screen output.
bool shared() const
This method indicates the subtraction mode.
virtual bool operator==(const Surface &sf) const override final
Equality operator.
SubtractedCylinderSurface & operator=(const SubtractedCylinderSurface &psf)
Assignment operator.
std::shared_ptr< const AreaExcluder > m_subtrVol
virtual bool insideBounds(const Amg::Vector2D &locpos, double tol1=0., double tol2=0.) const override final
This method calls the inside() method of the Bounds.
SubtractedCylinderSurface & operator=(SubtractedCylinderSurface &&)=default
Abstract Base Class for tracking surfaces.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 2, 1 > Vector2D
Ensure that the ATLAS eigen extensions are properly loaded.