ATLAS Offline Software
ITrackSelectorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrkToolInterfaces_ITrackSelectorTool_H
6 #define TrkToolInterfaces_ITrackSelectorTool_H
7 
8 #include "GaudiKernel/IAlgTool.h"
10 #include "xAODTracking/VertexFwd.h"
11 
12 namespace Trk
13 {
14 
15  static const InterfaceID IID_ITrackSelectorTool("Trk::ITrackSelectorTool", 1, 0);
16 
17  class Track;
18  class TrackParticleBase;
19  class Vertex;
20 
21 
22 
34  class ITrackSelectorTool : virtual public IAlgTool
35  {
36  public:
37 
38  static const InterfaceID& interfaceID()
39  {
40  return IID_ITrackSelectorTool;
41  }
42 
43  virtual bool decision(const Trk::Track& track,const Vertex* vertex=0) const =0;
44 
45  virtual bool decision(const Trk::TrackParticleBase& track,const Vertex* vertex=0) const =0;
46 
47  virtual bool decision(const xAOD::TrackParticle& track,const xAOD::Vertex* vertex=0) const =0;
48 
49  };//end of class definitions
50 }//end of namespace definitions
51 
52 
53 #endif
Trk::ITrackSelectorTool
The abstract interface base class for track selector tools.
Definition: ITrackSelectorTool.h:35
Trk::Vertex
Definition: Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
Trk::ITrackSelectorTool::decision
virtual bool decision(const Trk::Track &track, const Vertex *vertex=0) const =0
Trk::ITrackSelectorTool::decision
virtual bool decision(const xAOD::TrackParticle &track, const xAOD::Vertex *vertex=0) const =0
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrackSelectorTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackSelectorTool.h:38
VertexFwd.h
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
TrackParticleFwd.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Trk::ITrackSelectorTool::decision
virtual bool decision(const Trk::TrackParticleBase &track, const Vertex *vertex=0) const =0