ATLAS Offline Software
|
#include <VolumeBounds.h>
Public Member Functions | |
VolumeBounds () | |
Default Constructor. More... | |
virtual | ~VolumeBounds () |
Destructor. More... | |
virtual VolumeBounds * | clone () 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... | |
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.
Definition at line 45 of file VolumeBounds.h.
|
inline |
|
inlinevirtual |
|
pure virtual |
Provide accessor for BoundarySurfaces.
Implemented in Trk::CylinderVolumeBounds, Trk::DoubleTrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::SimplePolygonBrepVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::SubtractedVolumeBounds, Trk::BevelledCylinderVolumeBounds, and Trk::TrapezoidVolumeBounds.
|
pure virtual |
clone() method to make deep copy in Volume copy constructor and for assigment operator of the Surface class.
Implemented in Trk::DoubleTrapezoidVolumeBounds, Trk::TrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::SimplePolygonBrepVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::SubtractedVolumeBounds, Trk::BevelledCylinderVolumeBounds, and Trk::CylinderVolumeBounds.
|
pure virtual |
Method to decompose the Bounds into Surfaces, the Volume can turn them into BoundarySurfaces.
Implemented in Trk::CylinderVolumeBounds, Trk::DoubleTrapezoidVolumeBounds, Trk::TrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::SimplePolygonBrepVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::SubtractedVolumeBounds, and Trk::BevelledCylinderVolumeBounds.
|
pure virtual |
Output Method for MsgStream, to be overloaded by child classes.
Implemented in Trk::CylinderVolumeBounds, Trk::DoubleTrapezoidVolumeBounds, Trk::TrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::BevelledCylinderVolumeBounds, Trk::SimplePolygonBrepVolumeBounds, and Trk::SubtractedVolumeBounds.
|
pure virtual |
Output Method for std::ostream, to be overloaded by child classes.
Implemented in Trk::CylinderVolumeBounds, Trk::DoubleTrapezoidVolumeBounds, Trk::TrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::SubtractedVolumeBounds, Trk::BevelledCylinderVolumeBounds, and Trk::SimplePolygonBrepVolumeBounds.
|
pure virtual |
Checking if position given in volume frame is inside.
Implemented in Trk::CylinderVolumeBounds, Trk::DoubleTrapezoidVolumeBounds, Trk::TrapezoidVolumeBounds, Trk::CuboidVolumeBounds, Trk::SimplePolygonBrepVolumeBounds, Trk::PrismVolumeBounds, Trk::CombinedVolumeBounds, Trk::SubtractedVolumeBounds, and Trk::BevelledCylinderVolumeBounds.