ATLAS Offline Software
Loading...
Searching...
No Matches
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
12namespace Trk {
13
14 class Track;
16 class Segment;
17 class SpaceTimePoint;
18
19static const InterfaceID IID_ITrackTimingTool("Trk::ITrackTimingTool", 1, 0);
20
26
27class 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
57inline const InterfaceID& Trk::ITrackTimingTool::interfaceID()
58{
60}
61
62
63}
64#endif
Interface for providing time information for a track or track particle.
virtual std::vector< SpaceTimePoint * > timeMeasurements(const Track &track, const Trk::SegmentCollection *segments=0) const =0
returns time measurements for a given track.
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.
static const InterfaceID & interfaceID()
virtual std::vector< SpaceTimePoint * > timeMeasurements(const TrackParticleBase &trackParticle) const =0
returns time measurements for a given track particle (base).
Base class for all TrackSegment implementations, extends the common MeasurementBase.
SpaceTimePoint.
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< Trk::Segment > SegmentCollection
static const InterfaceID IID_ITrackTimingTool("Trk::ITrackTimingTool", 1, 0)