![]() |
ATLAS Offline Software
|
#include <StraightLineIntersector.h>
Public Member Functions | |
| StraightLineIntersector (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual StatusCode | finalize () override |
| virtual std::optional< TrackSurfaceIntersection > | intersectSurface (const Surface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double qOverP) const override |
| IIntersector interface method for general Surface type. | |
| virtual std::optional< TrackSurfaceIntersection > | approachPerigeeSurface (const PerigeeSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override |
| IIntersector interface method for specific Surface type : PerigeeSurface. | |
| 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 > | intersectCylinderSurface (const CylinderSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override |
| IIntersector interface method for specific Surface type : CylinderSurface. | |
| virtual std::optional< TrackSurfaceIntersection > | intersectDiscSurface (const DiscSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override |
| IIntersector interface method for specific Surface type : DiscSurface. | |
| virtual std::optional< TrackSurfaceIntersection > | intersectPlaneSurface (const PlaneSurface &surface, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double) const override |
| IIntersector interface method for specific Surface type : PlaneSurface. | |
| virtual bool | isValid (Amg::Vector3D, Amg::Vector3D) const override |
| IIntersector interface method for validity check over a particular extrapolation range. | |
Private Member Functions | |
| double | distanceToCylinder (const TrackSurfaceIntersection &isect, const double cylinderRadius) const |
| double | distanceToDisc (const TrackSurfaceIntersection &isect, const double discZ) const |
| double | distanceToLine (const TrackSurfaceIntersection &isect, const Amg::Vector3D &linePosition, const Amg::Vector3D &lineDirection) const |
| double | distanceToPlane (const TrackSurfaceIntersection &isect, const Amg::Vector3D &planePosition, const Amg::Vector3D &planeNormal) const |
| void | step (TrackSurfaceIntersection &isect, double stepLength) const |
Private Attributes | |
| std::atomic< unsigned long long > | m_countExtrapolations |
Definition at line 22 of file StraightLineIntersector.h.
| Trk::StraightLineIntersector::StraightLineIntersector | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 26 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for specific Surface type : PerigeeSurface.
Definition at line 78 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for specific Surface type : StraightLineSurface.
Definition at line 95 of file StraightLineIntersector.cxx.
|
inlineprivate |
Definition at line 95 of file StraightLineIntersector.h.
|
inlineprivate |
Definition at line 109 of file StraightLineIntersector.h.
|
inlineprivate |
Definition at line 116 of file StraightLineIntersector.h.
|
inlineprivate |
Definition at line 133 of file StraightLineIntersector.h.
|
overridevirtual |
Definition at line 35 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for specific Surface type : CylinderSurface.
Definition at line 112 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for specific Surface type : DiscSurface.
Definition at line 129 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for specific Surface type : PlaneSurface.
Definition at line 145 of file StraightLineIntersector.cxx.
|
overridevirtual |
IIntersector interface method for general Surface type.
Definition at line 43 of file StraightLineIntersector.cxx.
|
inlineoverridevirtual |
IIntersector interface method for validity check over a particular extrapolation range.
Definition at line 70 of file StraightLineIntersector.h.
|
inlineprivate |
Definition at line 144 of file StraightLineIntersector.h.
|
mutableprivate |
Definition at line 90 of file StraightLineIntersector.h.