9#ifndef TRKSURFACES_CYLINDERBOUNDS_H
10#define TRKSURFACES_CYLINDERBOUNDS_H
17#ifdef TRKDETDESCR_USEFLOATPRECISON
68 CylinderBounds(
double radius,
double halfphi,
double avphi,
double halez);
132 virtual MsgStream&
dump(MsgStream& sl)
const override;
147#include "TrkSurfaces/CylinderBounds.icc"
CylinderBounds()
Default Constructor.
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
virtual double r() const override final
This method returns the radius.
virtual double minDistance(const Amg::Vector2D &pos) const override final
Minimal distance to boundary ( > 0 if outside and <=0 if inside)
virtual bool inside(const Amg::Vector2D &locpo, const BoundaryCheck &bchk) const override final
bool operator==(const CylinderBounds &bo) const
virtual ~CylinderBounds()=default
Destructor.
BoundValues
BoundValues for readablility.
bool inside3D(const Amg::Vector3D &gp, double tol1=0., double tol2=0.) const
This method checks if a GlobalPosition is inside the Cylinder - not an interface method,...
virtual bool insideLoc2(const Amg::Vector2D &locpo, double tol2=0.) const override final
This method checks inside bounds in loc1.
virtual BoundsType type() const override final
Return the bounds type.
bool insideRadius(const Amg::Vector2D &locpo, double tol) const
This method checks if a LocalPosition is inside z bounds and inside the radius (for straws)
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.
CylinderBounds & operator=(CylinderBounds &&cylbo)=default
Move assignment operator.
virtual bool insideLoc1(const Amg::Vector2D &locpo, double tol1=0.) const override final
This method checks inside bounds in loc1.
bool insideLocZ(double z, double tol2) const
double halfPhiSector() const
This method returns the halfPhiSector angle.
std::vector< TDD_real_t > m_boundValues
internal storage of the geometry parameters
virtual CylinderBounds * clone() const override
Virtual constructor.
CylinderBounds()
Default Constructor.
CylinderBounds(const CylinderBounds &cylbo)=default
Copy Constructor.
CylinderBounds & operator=(const CylinderBounds &cylbo)=default
Assignment operator.
virtual bool operator==(const SurfaceBounds &sbo) const override
Equality operator.
CylinderBounds(CylinderBounds &&cylbo)=default
Move Constructor.
double averagePhi() const
This method returns the average phi.
double halflengthZ() const
This method returns the halflengthZ.
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
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)