9#ifndef TRKSURFACES_TRIANGLEBOUNDS_H
10#define TRKSURFACES_TRIANGLEBOUNDS_H
19#ifdef TRKDETDESCR_USEFLOATPRECISON
112 virtual MsgStream&
dump(MsgStream& sl)
const override;
122#include "TrkSurfaces/TriangleBounds.icc"
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
SurfaceBounds()=default
Default Constructor.
BoundsType
This enumerator simplifies the persistency, by saving a dynamic_cast to happen.
TriangleBounds(const TriangleBounds &tribo)=default
Copy constructor.
TriangleBounds()
Default Constructor - needed for persistency.
TriangleBounds(TriangleBounds &&tribo) noexcept=default
Move constructor.
virtual double r() const override final
This method returns the maximal extension on the local plane, i.e.
BoundValues
for readability
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc2.
virtual bool operator==(const SurfaceBounds &sbo) const override
Equality operator.
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
This method checks inside bounds in loc1.
virtual TriangleBounds * clone() const override
Virtual constructor.
TriangleBounds & operator=(const TriangleBounds &recbo)=default
Assignment Operator.
virtual ~TriangleBounds()=default
Destructor.
TriangleBounds & operator=(TriangleBounds &&recbo) noexcept=default
Move Assignment Operator.
virtual BoundsType type() const override final
Return the type of the bounds for persistency.
std::vector< TDD_real_t > m_boundValues
std::vector< std::pair< TDD_real_t, TDD_real_t > > vertices() const
This method returns the coordinates of vertices.
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 2, 1 > Vector2D
Ensure that the ATLAS eigen extensions are properly loaded.