ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
base class for convex polygon bounds More...
#include <acts/blob/master/Core/include/Acts/Surfaces/ConvexPolygonBounds.hpp>
Public Member Functions | |
std::ostream & | toStream (std::ostream &sl) const final |
std::vector< double > | values () const final |
Public Member Functions inherited from Acts::PlanarBounds | |
virtual std::vector< Vector2D > | vertices (unsigned int lseg=1) const =0 |
virtual const RectangleBounds & | boundingBox () const =0 |
Public Member Functions inherited from Acts::SurfaceBounds | |
virtual | ~SurfaceBounds ()=default |
virtual BoundsType | type () const =0 |
virtual bool | inside (const Vector2D &lposition, const BoundaryCheck &bcheck) const =0 |
virtual double | distanceToBoundary (const Vector2D &lposition) const =0 |
Static Protected Member Functions | |
template<typename coll_t > | |
static RectangleBounds | makeBoundingBox (const coll_t &vertices) |
template<typename coll_t > | |
static void | convex_impl (const coll_t &vertices) noexcept(false) |
Additional Inherited Members | |
Public Types inherited from Acts::SurfaceBounds | |
enum | BoundsType : int { eCone = 0, eCylinder = 1, eDiamond = 2, eDisc = 3, eEllipse = 5, eLine = 6, eRectangle = 7, eTrapezoid = 8, eTriangle = 9, eDiscTrapezoid = 10, eConvexPolygon = 11, eAnnulus = 12, eBoundless = 13, eOther = 14 } |
base class for convex polygon bounds
This class serves as a base class for the actual bounds class. The only deriving type is the templated ConvexPolygonBounds
.
Definition at line 26 of file ConvexPolygonBounds.hpp.
View newest version in sPHENIX GitHub at line 26 of file ConvexPolygonBounds.hpp
|
staticprotectednoexcept |
Calculates whether a set of vertices forms a convex polygon. This is generic over the number of vertices, so it's factored out of the concrete classes and into this base class.
vertices | A collection of vertices. throws a logic error if this is not the case |
Definition at line 50 of file ConvexPolygonBounds.ipp.
View newest version in sPHENIX GitHub at line 50 of file ConvexPolygonBounds.ipp
References a, ab, b, c, k, N, and CLHEP::normal().
|
staticprotected |
Return a rectangle bounds instance that encloses a set of vertices.
vertices | A collection of vertices to enclose. |
Definition at line 26 of file ConvexPolygonBounds.ipp.
View newest version in sPHENIX GitHub at line 26 of file ConvexPolygonBounds.ipp
|
finalvirtual |
Output Method for std::ostream
sl | is the ostream to be written into |
Implements Acts::SurfaceBounds.
Definition at line 11 of file ConvexPolygonBounds.ipp.
View newest version in sPHENIX GitHub at line 11 of file ConvexPolygonBounds.ipp
References Acts::PlanarBounds::vertices().
|
finalvirtual |
Return the bound values as dynamically sized vector
Implements Acts::SurfaceBounds.
Definition at line 40 of file ConvexPolygonBounds.ipp.
View newest version in sPHENIX GitHub at line 40 of file ConvexPolygonBounds.ipp
References Acts::Test::values.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().