ATLAS Offline Software
ITrackToVertex.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ITrackToVertex.h, (c) ATLAS Detector software 2005
8 
9 #ifndef TRACKTOVERTEX_ITRACKTOVERTEX_H
10 #define TRACKTOVERTEX_ITRACKTOVERTEX_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
16 // xAOD
18 
19 namespace Rec {
20  class TrackParticle;
21 }
22 
23 namespace Trk {
24  class Track;
25  class StraightLineSurface;
26 }
27 
28 namespace InDet{
29  class BeamSpotData;
30 }
31 
32 class EventContext;
33 
34 namespace Reco {
35 
36  static const InterfaceID IID_ITrackToVertex("ITrackToVertex", 1, 0);
37 
49  class ITrackToVertex : virtual public IAlgTool {
50 
51  public:
53  virtual ~ITrackToVertex()=default;
54 
56  static const InterfaceID& interfaceID() { return IID_ITrackToVertex; };
57 
59  virtual std::unique_ptr<Trk::StraightLineSurface> GetBeamLine(
60  const InDet::BeamSpotData*)
61  const = 0;
62 
63 
66  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
67  const EventContext& ctx,
68  const Rec::TrackParticle& tp,
69  const Amg::Vector3D& gp) const = 0;
70 
73  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
74  const EventContext& ctx,
75  const xAOD::TrackParticle& tp,
76  const Amg::Vector3D& gp) const = 0;
77 
80  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
81  const EventContext& ctx,
82  const Rec::TrackParticle& tp) const = 0;
83 
86  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
87  const EventContext& ctx,
88  const xAOD::TrackParticle& tp) const = 0;
89 
92  virtual std::unique_ptr<Trk::Perigee> perigeeAtVertex(
93  const EventContext& ctx,
94  const Trk::Track& trk,
95  const Amg::Vector3D& gp) const = 0;
96 
97 
100  virtual std::unique_ptr<Trk::Perigee> perigeeAtBeamline(
101  const EventContext& ctx,
102  const Trk::Track& trk,
103  const InDet::BeamSpotData* beamSpotData) const = 0;
104 
107  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
108  const EventContext& ctx,
109  const Rec::TrackParticle& tp) const = 0;
110 
113  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
114  const EventContext& ctx,
115  const xAOD::TrackParticle& tp,
116  const InDet::BeamSpotData*) const = 0;
117 
120  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
121  const EventContext& ctx,
122  const Trk::Track& trk,
123  const Trk::StraightLineSurface*) const = 0;
124 
127  virtual std::unique_ptr<Trk::TrackParameters> trackAtBeamline(
128  const EventContext& ctx,
129  const Trk::TrackParameters& tpars,
130  const Trk::StraightLineSurface*) const = 0;
131  };
132 }
133 
134 #endif // TRACKTOVERTEX_ITRACKTOVERTEX_H
135 
Reco::ITrackToVertex::perigeeAtVertex
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 - xAOD.
Reco::ITrackToVertex::trackAtBeamline
virtual std::unique_ptr< Trk::TrackParameters > trackAtBeamline(const EventContext &ctx, const Rec::TrackParticle &tp) const =0
Interface method for use with TrackParticle and the beamline from the BeamSpotSvc - AOD.
Reco::ITrackToVertex::trackAtBeamline
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 from the BeamSpotSvc - xAOD.
TrackParameters.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Reco::ITrackToVertex::trackAtBeamline
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
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Reco::ITrackToVertex::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: ITrackToVertex.h:56
Reco::ITrackToVertex::perigeeAtVertex
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const Rec::TrackParticle &tp) const =0
Interface method for use with TrackParticle and default primary vertex from TrackParticle - AOD.
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
Reco::ITrackToVertex::perigeeAtVertex
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 - ESD.
Reco::ITrackToVertex::perigeeAtVertex
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 - xAOD.
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Trk::ParametersBase
Definition: ParametersBase.h:55
Reco::ITrackToVertex::~ITrackToVertex
virtual ~ITrackToVertex()=default
Virtual destructor.
Reco::ITrackToVertex::GetBeamLine
virtual std::unique_ptr< Trk::StraightLineSurface > GetBeamLine(const InDet::BeamSpotData *) const =0
Use this for MT Coding.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Reco
Definition: InDetV0FinderTool.h:89
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Rec::TrackParticle
Definition: Reconstruction/Particle/Particle/TrackParticle.h:47
Reco::ITrackToVertex::perigeeAtBeamline
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 from the BeamSpotSvc - ESD.
Reco::ITrackToVertex
Definition: ITrackToVertex.h:49
InDet::BeamSpotData
Definition: BeamSpotData.h:21
TrackParticleFwd.h
Reco::ITrackToVertex::perigeeAtVertex
virtual std::unique_ptr< Trk::Perigee > perigeeAtVertex(const EventContext &ctx, const Rec::TrackParticle &tp, const Amg::Vector3D &gp) const =0
Interface method for use with TrackParticle and given vertex position.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Reco::ITrackToVertex::trackAtBeamline
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 from the BeamSpotSvc - ESD.
Trk::StraightLineSurface
Definition: StraightLineSurface.h:51