9#ifndef TRKVOLUMES_COMBINEDVOLUMEBOUNDS_H
10#define TRKVOLUMES_COMBINEDVOLUMEBOUNDS_H
51 std::unique_ptr<Volume>
second,
77 bool forceInside = false)
const override final;
92 virtual MsgStream&
dump(MsgStream& sl)
const override final;
Eigen::Affine3d Transform3D
std::unique_ptr< Volume > m_second
virtual ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final
Provide accessor for BoundarySurfaces.
const Volume * second() const
This method returns the second VolumeBounds.
const Volume * first() const
This method returns the first VolumeBounds.
CombinedVolumeBounds()
Default Constructor.
virtual std::vector< std::unique_ptr< Trk::Surface > > decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into boundarySurfaces.
CombinedVolumeBounds & operator=(const CombinedVolumeBounds &bobo)
Assignment operator.
std::unique_ptr< Volume > m_first
const std::vector< bool > & boundsOrientation() const
This method returns bounds orientation.
EightObjectsAccessor m_objectAccessor
virtual ~CombinedVolumeBounds()
Destructor.
bool intersection() const
This method distinguishes between Union(0) and Intersection(1)
virtual CombinedVolumeBounds * clone() const override final
Virtual constructor.
virtual bool inside(const Amg::Vector3D &, double tol=0.) const override final
This method checks if position in the 3D volume frame is inside the volume.
static Trk::Volume * createSubtractedVolume(const Amg::Transform3D &transf, const Trk::Volume *subtrVol)
std::vector< bool > m_boundsOrientation
Abstract base class for surface bounds to be specified.
Abstract Base Class for tracking surfaces.
VolumeBounds()
Default Constructor.
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::array< ObjectAccessor::value_type, 8 > EightObjectsAccessor