Class Acts::ObjectIntersection

template<typename object_t, typename representation_t = object_t>
class ObjectIntersection

class extensions to return also the object and a representation

Public Functions

inline constexpr ObjectIntersection(const Intersection3D &intersection, const object_t *object, const representation_t *representation, std::uint8_t index = 0)

Object intersection.

Parameters
  • intersection – is the intersection

  • object – is the object to be instersected

  • representation – is the object representation

  • index – is the intersection index

template<typename T = representation_t, std::enable_if_t<std::is_same<T, object_t>::value, int> = 0>
inline constexpr ObjectIntersection(const Intersection3D &intersection, const object_t *object, std::uint8_t index = 0)

Object intersection - symmetric setup.

Parameters
  • intersection – is the intersection

  • object – is the object to be instersected

  • index – is the intersection index

inline constexpr std::uint8_t index() const
inline constexpr const Intersection3D &intersection() const
inline constexpr const object_t *object() const
inline explicit constexpr operator bool() const

Returns whether the intersection was successful or not.

inline constexpr ActsScalar pathLength() const
inline constexpr const Intersection3D::Position &position() const
inline constexpr const representation_t *representation() const
inline constexpr Intersection3D::Status status() const

Public Static Functions

static inline constexpr bool closestOrder(const ObjectIntersection &aIntersection, const ObjectIntersection &bIntersection)
static inline constexpr bool forwardOrder(const ObjectIntersection &aIntersection, const ObjectIntersection &bIntersection)
static inline constexpr ObjectIntersection invalid()