 |
ATLAS Offline Software
|
Go to the documentation of this file.
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;
95 virtual std::ostream&
dump(std::ostream& sl)
const override final;
142 #endif // TRKVOLUMES_COMBINEDVOLUMEBOUNDS_H
bool intersection() const
This method distinguishes between Union(0) and Intersection(1)
static Trk::Volume * createSubtractedVolume(const Amg::Transform3D &transf, const Trk::Volume *subtrVol)
virtual ObjectAccessor boundarySurfaceAccessor(const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final
Provide accessor for BoundarySurfaces.
std::vector< bool > m_boundsOrientation
CombinedVolumeBounds & operator=(const CombinedVolumeBounds &bobo)
Assignment operator.
std::array< ObjectAccessor::value_type, 8 > EightObjectsAccessor
virtual CombinedVolumeBounds * clone() const override final
Virtual constructor.
bool const RAWDATA *ch2 const
const Volume * first() const
This method returns the first VolumeBounds.
const std::vector< bool > & boundsOrientation() const
This method returns bounds orientation.
std::unique_ptr< Volume > m_second
virtual ~CombinedVolumeBounds()
Destructor.
virtual MsgStream & dump(MsgStream &sl) const override final
Output Method for MsgStream.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
EightObjectsAccessor m_objectAccessor
CombinedVolumeBounds()
Default Constructor.
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
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.
virtual std::vector< std::unique_ptr< Trk::Surface > > decomposeToSurfaces(const Amg::Transform3D &transform) override final
Method to decompose the Bounds into boundarySurfaces.
std::unique_ptr< Volume > m_first
const Volume * second() const
This method returns the second VolumeBounds.