EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ConvexPolygonBoundsBase Class Reference

base class for convex polygon bounds More...

#include <acts/blob/sPHENIX/Core/include/Acts/Surfaces/ConvexPolygonBounds.hpp>

+ Inheritance diagram for Acts::ConvexPolygonBoundsBase:
+ Collaboration diagram for Acts::ConvexPolygonBoundsBase:

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< Vector2Dvertices (unsigned int lseg=1) const =0
 
virtual const RectangleBoundsboundingBox () 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
 

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
}
 

Detailed Description

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 27 of file ConvexPolygonBounds.hpp.

View newest version in sPHENIX GitHub at line 27 of file ConvexPolygonBounds.hpp

Member Function Documentation

template<typename coll_t >
void Acts::ConvexPolygonBoundsBase::convex_impl ( const coll_t &  vertices)
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.

Parameters
verticesA collection of vertices. throws a logic error if this is not the case

Definition at line 12 of file ConvexPolygonBounds.ipp.

View newest version in sPHENIX GitHub at line 12 of file ConvexPolygonBounds.ipp

References c, k, charm_jet_strange_helicity::N, and value.

template<typename coll_t >
Acts::RectangleBounds Acts::ConvexPolygonBoundsBase::makeBoundingBox ( const coll_t &  vertices)
staticprotected

Return a rectangle bounds instance that encloses a set of vertices.

Parameters
verticesA collection of vertices to enclose.
Returns
Enclosing rectangle.

Definition at line 52 of file ConvexPolygonBounds.ipp.

View newest version in sPHENIX GitHub at line 52 of file ConvexPolygonBounds.ipp

std::ostream & Acts::ConvexPolygonBoundsBase::toStream ( std::ostream &  sl) const
finalvirtual

Output Method for std::ostream

Parameters
slis the ostream to be written into

Implements Acts::SurfaceBounds.

Definition at line 11 of file ConvexPolygonBounds.cpp.

View newest version in sPHENIX GitHub at line 11 of file ConvexPolygonBounds.cpp

References Acts::PlanarBounds::vertices(), and vtx().

+ Here is the call graph for this function:

std::vector< double > Acts::ConvexPolygonBoundsBase::values ( ) const
finalvirtual

Return the bound values as dynamically sized vector

Returns
this returns a copy of the internal values

Implements Acts::SurfaceBounds.

Definition at line 25 of file ConvexPolygonBounds.cpp.

View newest version in sPHENIX GitHub at line 25 of file ConvexPolygonBounds.cpp

References Acts::Test::values, and vtx().

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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