ATLAS Offline Software
Public Member Functions | List of all members
Trk::IIntersector Class Referenceabstract

#include <IIntersector.h>

Inheritance diagram for Trk::IIntersector:
Collaboration diagram for Trk::IIntersector:

Public Member Functions

 DeclareInterfaceID (IInterface, 1, 0)
 
virtual ~IIntersector ()=default
 Virtual destructor. More...
 
virtual std::optional< TrackSurfaceIntersectionintersectSurface (const Surface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for general Surface type. More...
 
virtual std::optional< TrackSurfaceIntersectionapproachPerigeeSurface (const PerigeeSurface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for specific Surface type : PerigeeSurface. More...
 
virtual std::optional< TrackSurfaceIntersectionapproachStraightLineSurface (const StraightLineSurface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for specific Surface type : StraightLineSurface. More...
 
virtual std::optional< TrackSurfaceIntersectionintersectCylinderSurface (const CylinderSurface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for specific Surface type : CylinderSurface. More...
 
virtual std::optional< TrackSurfaceIntersectionintersectDiscSurface (const DiscSurface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for specific Surface type : DiscSurface. More...
 
virtual std::optional< TrackSurfaceIntersectionintersectPlaneSurface (const PlaneSurface &surface, const TrackSurfaceIntersection &trackIntersection, const double qOverP) const =0
 IIntersector interface method for specific Surface type : PlaneSurface. More...
 
virtual bool isValid (Amg::Vector3D startPosition, Amg::Vector3D endPosition) const =0
 IIntersector interface method for extrapolation validity check over a particular extrapolation range. More...
 

Detailed Description

Base class for Intersector AlgTools.

Returning a NULL pointer means that the intersection/approach has not converged, or there has not been a mathematical solution for this.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

modifications from Alan..nosp@m.Popp.nosp@m.leton.nosp@m.@cer.nosp@m.n.ch:

Definition at line 45 of file IIntersector.h.

Constructor & Destructor Documentation

◆ ~IIntersector()

virtual Trk::IIntersector::~IIntersector ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ approachPerigeeSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::approachPerigeeSurface ( const PerigeeSurface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for specific Surface type : PerigeeSurface.

◆ approachStraightLineSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::approachStraightLineSurface ( const StraightLineSurface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for specific Surface type : StraightLineSurface.

◆ DeclareInterfaceID()

Trk::IIntersector::DeclareInterfaceID ( IInterface  ,
,
 
)

◆ intersectCylinderSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::intersectCylinderSurface ( const CylinderSurface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for specific Surface type : CylinderSurface.

◆ intersectDiscSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::intersectDiscSurface ( const DiscSurface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for specific Surface type : DiscSurface.

◆ intersectPlaneSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::intersectPlaneSurface ( const PlaneSurface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for specific Surface type : PlaneSurface.

◆ intersectSurface()

virtual std::optional<TrackSurfaceIntersection> Trk::IIntersector::intersectSurface ( const Surface surface,
const TrackSurfaceIntersection trackIntersection,
const double  qOverP 
) const
pure virtual

IIntersector interface method for general Surface type.

◆ isValid()

virtual bool Trk::IIntersector::isValid ( Amg::Vector3D  startPosition,
Amg::Vector3D  endPosition 
) const
pure virtual

IIntersector interface method for extrapolation validity check over a particular extrapolation range.


The documentation for this class was generated from the following file: