|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "CLHEP/Units/SystemOfUnits.h"
27 const std::string&
name,
30 m_countExtrapolations (0)
38 return StatusCode::SUCCESS;
42 std::optional<Trk::TrackSurfaceIntersection>
48 const auto surfaceType = surface.
type();
51 trackIntersection,
qOverP);
65 trackIntersection,
qOverP);
69 trackIntersection,
qOverP);
77 std::optional<Trk::TrackSurfaceIntersection>
88 step(isect, stepLength);
94 std::optional<Trk::TrackSurfaceIntersection>
105 step(isect, stepLength);
111 std::optional<Trk::TrackSurfaceIntersection>
122 step(isect, stepLength);
128 std::optional<Trk::TrackSurfaceIntersection>
138 step(isect, stepLength);
144 std::optional<Trk::TrackSurfaceIntersection>
154 step(isect, stepLength);
virtual std::optional< TrackSurfaceIntersection > approachPerigeeSurface(const PerigeeSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override
IIntersector interface method for specific Surface type : PerigeeSurface.
double distanceToDisc(const TrackSurfaceIntersection &isect, const double discZ) const
virtual StatusCode finalize() override
const Amg::Vector3D & center() const
Returns the center position of the Surface.
virtual std::optional< TrackSurfaceIntersection > intersectPlaneSurface(const PlaneSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override
IIntersector interface method for specific Surface type : PlaneSurface.
virtual std::optional< TrackSurfaceIntersection > intersectSurface(const Surface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double qOverP) const override
IIntersector interface method for general Surface type.
StraightLineIntersector(const std::string &type, const std::string &name, const IInterface *parent)
double distanceToCylinder(const TrackSurfaceIntersection &isect, const double cylinderRadius) const
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual std::optional< TrackSurfaceIntersection > intersectCylinderSurface(const CylinderSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override
IIntersector interface method for specific Surface type : CylinderSurface.
virtual std::optional< TrackSurfaceIntersection > approachStraightLineSurface(const StraightLineSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override
IIntersector interface method for specific Surface type : StraightLineSurface.
virtual std::optional< TrackSurfaceIntersection > intersectDiscSurface(const DiscSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override
IIntersector interface method for specific Surface type : DiscSurface.
virtual const Amg::Vector3D & normal() const
Returns the normal vector of the Surface (i.e.
double distanceToLine(const TrackSurfaceIntersection &isect, const Amg::Vector3D &linePosition, const Amg::Vector3D &lineDirection) const
Ensure that the ATLAS eigen extensions are properly loaded.
Eigen::Matrix< double, 3, 1 > Vector3D
double distanceToPlane(const TrackSurfaceIntersection &isect, const Amg::Vector3D &planePosition, const Amg::Vector3D &planeNormal) const
#define ATH_MSG_WARNING(x)
virtual const Amg::Vector3D & globalReferencePoint() const override final
Returns a global reference point: For the Cylinder this is Where denotes the averagePhi() of the cy...
void step(TrackSurfaceIntersection &isect, double stepLength) const
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
constexpr virtual SurfaceType type() const =0
Returns the Surface type to avoid dynamic casts.
std::atomic< unsigned long long > m_countExtrapolations