9#ifndef TRACKTOVERTEX_ITRACKTOVERTEX_H
10#define TRACKTOVERTEX_ITRACKTOVERTEX_H
13#include "GaudiKernel/IAlgTool.h"
56 virtual std::unique_ptr<Trk::StraightLineSurface>
GetBeamLine(
62 const EventContext& ctx,
69 const EventContext& ctx,
74 const EventContext& ctx,
80 const EventContext& ctx,
86 const EventContext& ctx,
92 const EventContext& ctx,
99 const EventContext& ctx,
Interface class for the TrackToVertex AlgTool, for more detailed information, take a look at the head...
virtual std::unique_ptr< Trk::StraightLineSurface > GetBeamLine(const InDet::BeamSpotData *) const =0
Use this for MT Coding.
virtual std::unique_ptr< Trk::TrackParameters > trackAtBeamline(const EventContext &ctx, const Trk::Track &trk, const Trk::StraightLineSurface *) const =0
Interface method for use with Track and the beamline.
virtual std::unique_ptr< Trk::Perigee > perigeeAtBeamline(const EventContext &ctx, const Trk::Track &trk, const InDet::BeamSpotData *beamSpotData) const =0
Interface method for use with Track and the beamline.
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const xAOD::TrackParticle &tp, const Amg::Vector3D &gp) const =0
Interface method for use with xAOD::Trackparticle and given vertex position.
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const Trk::Track &trk, const Amg::Vector3D &gp) const =0
Interface method for use with Track and given vertex position.
static const InterfaceID & interfaceID()
AlgTool interface methods.
virtual std::unique_ptr< Trk::TrackParameters > trackAtBeamline(const EventContext &ctx, const Trk::TrackParameters &tpars, const Trk::StraightLineSurface *) const =0
Interface method for use with Track and the beamline from the BeamSpotSvc - TrackParameters.
virtual ~ITrackToVertex()=default
Virtual destructor.
virtual std::unique_ptr< Trk::TrackParameters > trackAtBeamline(const EventContext &ctx, const xAOD::TrackParticle &tp, const InDet::BeamSpotData *) const =0
Interface method for use with TrackParticle and the beamline.
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const xAOD::TrackParticle &tp) const =0
Interface method for use with TrackParticle and default primary vertex from TrackParticle.
Class for a StraightLineSurface in the ATLAS detector to describe dirft tube and straw like detectors...
Eigen::Matrix< double, 3, 1 > Vector3D
static const InterfaceID IID_ITrackToVertex("ITrackToVertex", 1, 0)
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version: