9#ifndef TRKSURFACES_ConeBounds_H
10#define TRKSURFACES_ConeBounds_H
19#ifdef TRKDETDESCR_USEFLOATPRECISON
66 ConeBounds(
double alpha,
double zmin,
double zmax,
double halfphi =
M_PI,
double avphi = 0.);
145 virtual MsgStream&
dump(MsgStream& sl)
const override;
const double MAXBOUNDVALUE
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
ConeBounds(const ConeBounds &cylbo)=default
Copy Constructor.
ConeBounds & operator=(ConeBounds &&sbo)=default
Move assignment.
ConeBounds(ConeBounds &&annbo)=default
Move constructor.
virtual BoundsType type() const override
Return the bounds type.
bool operator==(const ConeBounds &bo) const
virtual ConeBounds * clone() const override
Virtual constructor.
virtual ~ConeBounds()=default
Destructor.
double minZ() const
This method returns the minimum z value in the local framee.
double tanAlpha() const
This method returns the average phi.
double minPhi() const
Helpers for inside() functions.
virtual bool operator==(const SurfaceBounds &sbo) const override
Equality operator.
virtual bool inside(const Amg::Vector2D &locpo, double tol1, double tol2) const override final
This method checks if a LocalPosition is inside z bounds and rphi value- interface method.
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc1.
virtual bool inside(const Amg::Vector2D &locpo, const BoundaryCheck &bchk=true) const override final
double maxZ() const
This method returns the maximum z value in the local framee.
double halfPhiSector() const
This method returns the half-phi width of the sector (so that averagePhi +/- halfPhiSector gives the ...
std::vector< TDD_real_t > m_boundValues
internal storage of the geometry parameters
ConeBounds & operator=(const ConeBounds &cylbo)=default
Assignment operator.
BoundValues
BoundValues for readablility.
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
This method checks inside bounds in loc1.
virtual void initCache() override final
Helper function for angle parameter initialization.
virtual double r() const override
This method returns the maximal radius - for an unbound cone it returns MAXBOUNDVALUE.
ConeBounds()
Default Constructor.
double averagePhi() const
This method returns the average phi value (i.e.
virtual double minDistance(const Amg::Vector2D &pos) const override
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
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.
@ z
global position (cartesian)