9#ifndef TRKSURFACES_DISCBOUNDS_H
10#define TRKSURFACES_DISCBOUNDS_H
23#ifdef TRKDETDESCR_USEFLOATPRECISON
78 DiscBounds(
double minrad,
double maxrad,
double avephi,
double hphisec);
121 virtual MsgStream&
dump(MsgStream& sl)
const override;
133#include "TrkSurfaces/DiscBounds.icc"
DiscBounds()
Default Constructor.
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
BoundValues
enumeration for readability
double rMax() const
This method returns outer radius.
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.
DiscBounds(const DiscBounds &)=default
Default copy constructor.
DiscBounds(DiscBounds &&discbo) noexcept=default
Default move constructor.
double averagePhi() const
This method returns the average phi.
virtual double r() const override final
This method returns the maximum expansion on the plane (=rMax)
virtual ~DiscBounds()=default
Destructor.
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc2.
double rMin() const
This method returns inner radius.
double halfPhiSector() const
This method returns the halfPhiSector which is covered by the disc.
DiscBounds & operator=(DiscBounds &&discbo) noexcept=default
Default move assignment operator.
virtual SurfaceBounds::BoundsType type() const override final
Return the type - mainly for persistency.
std::vector< TDD_real_t > m_boundValues
Internal members of the bounds (float/double)
virtual DiscBounds * clone() const override final
Virtual constructor.
DiscBounds & operator=(const DiscBounds &discbo)=default
Default assignment operator.
DiscBounds()
Default Constructor.
SurfaceBounds()=default
Default Constructor.
BoundsType
This enumerator simplifies the persistency, by saving a dynamic_cast to happen.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 2, 1 > Vector2D
Ensure that the ATLAS eigen extensions are properly loaded.