ATLAS Offline Software
Public Member Functions | List of all members
Trk::VolumeBounds Class Referenceabstract

#include <VolumeBounds.h>

Inheritance diagram for Trk::VolumeBounds:
Collaboration diagram for Trk::VolumeBounds:

Public Member Functions

 VolumeBounds ()
 Default Constructor. More...
 
virtual ~VolumeBounds ()
 Destructor. More...
 
virtual VolumeBoundsclone () const =0
 clone() method to make deep copy in Volume copy constructor and for assigment operator of the Surface class. More...
 
virtual bool inside (const Amg::Vector3D &pos, double tol=0.) const =0
 Checking if position given in volume frame is inside. More...
 
virtual const std::vector< const Trk::Surface * > * decomposeToSurfaces (const Amg::Transform3D &transform)=0
 Method to decompose the Bounds into Surfaces, the Volume can turn them into BoundarySurfaces. More...
 
virtual ObjectAccessor boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const =0
 Provide accessor for BoundarySurfaces. More...
 
virtual MsgStream & dump (MsgStream &sl) const =0
 Output Method for MsgStream, to be overloaded by child classes. More...
 
virtual std::ostream & dump (std::ostream &sl) const =0
 Output Method for std::ostream, to be overloaded by child classes. More...
 

Detailed Description

Pure Absract Base Class for Volume bounds.

Trk::VolumeBounds are a set of up to six confining Surfaces that are stored in a std::vector. Each type of Trk::VolumeBounds has to implement a decomposeToSurfaces() and a inside() method.

The orientation of the Surfaces are in a way that the normal vector points to the oustide world.

The Volume, retrieving a set of Surfaces from the VolumeBounds, can turn the Surfaces into BoundarySurfaces.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 45 of file VolumeBounds.h.

Constructor & Destructor Documentation

◆ VolumeBounds()

Trk::VolumeBounds::VolumeBounds ( )
inline

Default Constructor.

Definition at line 48 of file VolumeBounds.h.

48 {}

◆ ~VolumeBounds()

virtual Trk::VolumeBounds::~VolumeBounds ( )
inlinevirtual

Destructor.

Definition at line 51 of file VolumeBounds.h.

51 {}

Member Function Documentation

◆ boundarySurfaceAccessor()

virtual ObjectAccessor Trk::VolumeBounds::boundarySurfaceAccessor ( const Amg::Vector3D gp,
const Amg::Vector3D dir,
bool  forceInside = false 
) const
pure virtual

◆ clone()

virtual VolumeBounds* Trk::VolumeBounds::clone ( ) const
pure virtual

◆ decomposeToSurfaces()

virtual const std::vector<const Trk::Surface*>* Trk::VolumeBounds::decomposeToSurfaces ( const Amg::Transform3D transform)
pure virtual

◆ dump() [1/2]

virtual MsgStream& Trk::VolumeBounds::dump ( MsgStream &  sl) const
pure virtual

◆ dump() [2/2]

virtual std::ostream& Trk::VolumeBounds::dump ( std::ostream &  sl) const
pure virtual

◆ inside()

virtual bool Trk::VolumeBounds::inside ( const Amg::Vector3D pos,
double  tol = 0. 
) const
pure virtual

The documentation for this class was generated from the following file: