Class ConvexPolygonBoundsBase

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class Acts::ConvexPolygonBoundsBase : public Acts::PlanarBounds

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.

Subclassed by Acts::ConvexPolygonBounds< N >, Acts::ConvexPolygonBounds< PolygonDynamic >

Public Functions

template<typename coll_t>
Acts::RectangleBounds makeBoundingBox(const coll_t &vertices)
std::ostream &toStream(std::ostream &sl) const final

Output Method for std::ostream.

Parameters
  • sl: is the ostream to be written into

std::vector<double> values() const final

Return the bound values as dynamically sized vector.

Return

this returns a copy of the internal values

Protected Static Functions

template<typename coll_t>
void convex_impl(const coll_t &vertices) noexcept(false)

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
  • vertices: A collection of vertices. throws a logic error if this is not the case

template<typename coll_t>
RectangleBounds makeBoundingBox(const coll_t &vertices)

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

Return

Enclosing rectangle.

Parameters
  • vertices: A collection of vertices to enclose.