9#ifndef TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
10#define TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
40 const std::vector<float> &
offset);
52 double tol2 = 0.)
const override final;
76 bool Bound)
const override final;
85 virtual std::string
name()
const override
87 return "Trk::SlidingCylinderSurface";
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
CylinderSurface()
Default Constructor.
Access to distance solutions.
virtual std::string name() const override
Return properly formatted class name for screen output.
virtual DistanceSolution straightLineDistanceEstimate(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
fast straight line distance evaluation to Surface
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specialized for DiscSurface: GlobalToLocal method without dynamic memory allocation - boolean checks ...
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specialized for DiscSurface: LocalToGlobal method without dynamic memory allocation.
const Trk::BinUtility & binUtility() const
This method allows access to the bin utility.
const std::vector< float > & offset() const
This method allows access to the radial offset values.
SlidingCylinderSurface(const CylinderSurface &surf, const Trk::BinUtility &bu, const std::vector< float > &offset)
Constructor.
virtual bool operator==(const Surface &sf) const override final
Equality operator.
virtual bool isOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const override final
This method returns true if the GlobalPosition is on the Surface for both, within or without check of...
std::vector< float > m_depth
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.