ATLAS Offline Software
ITrackTimingTool.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 TRKITRACKTIMINGTOOL_H
6 #define TRKITRACKTIMINGTOOL_H
7 
8 #include "GaudiKernel/IAlgTool.h"
10 #include <vector>
11 
12 namespace Trk {
13 
14  class Track;
15  class TrackParticleBase;
16  class Segment;
17  class SpaceTimePoint;
18 
19 static const InterfaceID IID_ITrackTimingTool("Trk::ITrackTimingTool", 1, 0);
20 
27 class ITrackTimingTool : virtual public IAlgTool {
28  public:
29  static const InterfaceID& interfaceID( ) ;
30 
36  virtual std::vector<SpaceTimePoint*> timeMeasurements
37  ( const Track& track,
38  const Trk::SegmentCollection* segments = 0 ) const = 0;
39 
45  virtual std::vector<SpaceTimePoint*> timeMeasurements( const TrackParticleBase& trackParticle ) const = 0;
46 
52  virtual std::vector<SpaceTimePoint*> timeMeasurements( std::vector<const Segment*> segments) const = 0;
53 };
54 
55 
56 
57 inline const InterfaceID& Trk::ITrackTimingTool::interfaceID()
58 {
59  return IID_ITrackTimingTool;
60 }
61 
62 
63 }
64 #endif
Trk::ITrackTimingTool::timeMeasurements
virtual std::vector< SpaceTimePoint * > timeMeasurements(std::vector< const Segment * > segments) const =0
return time measurements for a vector of segments - mainly aimed at MS and tagged segments.
Trk::ITrackTimingTool
Interface for providing time information for a track or track particle.
Definition: ITrackTimingTool.h:27
Trk::TrackState::Segment
@ Segment
Definition: TrackStateDefs.h:37
Trk::ITrackTimingTool::timeMeasurements
virtual std::vector< SpaceTimePoint * > timeMeasurements(const Track &track, const Trk::SegmentCollection *segments=0) const =0
returns time measurements for a given track.
Trk::TrackParticleBase
Definition: TrackParticleBase.h:41
DataVector< Trk::Segment >
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrackTimingTool::timeMeasurements
virtual std::vector< SpaceTimePoint * > timeMeasurements(const TrackParticleBase &trackParticle) const =0
returns time measurements for a given track particle (base).
Trk::ITrackTimingTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackTimingTool.h:57
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
SegmentCollection.h