9#ifndef TRKSURFACES_DISCTRAPEZOIDALBOUNDS_H
10#define TRKSURFACES_DISCTRAPEZOIDALBOUNDS_H
23#ifdef TRKDETDESCR_USEFLOATPRECISON
137 virtual MsgStream&
dump(MsgStream& sl)
const override;
148#include "TrkSurfaces/DiscTrapezoidalBounds.icc"
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
Class to describe the bounds for a planar DiscSurface.
virtual bool operator==(const SurfaceBounds &sbo) const override
Equality operator.
DiscTrapezoidalBounds & operator=(const DiscTrapezoidalBounds &disctrbo)
Assignment operator.
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
double rMin() const
This method returns inner radius.
double halflengthY() const
This method returns the halflength in Y (this is Rmax -Rmin)
virtual ~DiscTrapezoidalBounds()=default
Destructor.
virtual double r() const override
This method returns the maximum expansion on the plane (=rMax)
std::vector< TDD_real_t > m_boundValues
Internal members of the bounds (float/double)
BoundValues
enumeration for readability
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
This method checks inside bounds in loc1.
double averagePhi() const
This method returns the average phi.
double maxHalflengthX() const
This method returns the maximal halflength in X.
double halfPhiSector() const
This method returns the halfPhiSector which is covered by the disc.
DiscTrapezoidalBounds(DiscTrapezoidalBounds &&disctrbo) noexcept=default
Move constructor.
double minHalflengthX() const
This method returns the minimal halflength in X.
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc2.
virtual SurfaceBounds::BoundsType type() const override final
Return the type - mainly for persistency.
double stereo() const
This method returns the stereo angle.
double rMax() const
This method returns outer radius.
virtual DiscTrapezoidalBounds * clone() const override
Virtual constructor.
DiscTrapezoidalBounds & operator=(DiscTrapezoidalBounds &&disctrbo) noexcept=default
Move Assignment operator.
DiscTrapezoidalBounds()
Default Constructor.
double rCenter() const
This method returns the center radius.
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.