ATLAS Offline Software
ITrackSummaryHelperTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ITRACKSUMMARYHELPERTOOL
6 #define ITRACKSUMMARYHELPERTOOL
7 
8 
9 #include "GaudiKernel/IAlgTool.h"
10 #include <vector>
11 #include <bitset>
13 #include "TrkTrackSummary/TrackSummary.h" // defines Trk::numberOfDetectorTypes used below
14 
15 class Identifier;
16 
17 namespace Trk {
18 
19  class Track;
20  class RIO_OnTrack;
21  class TrackStateOnSurface;
23 
24  static const InterfaceID IID_ITrackSummaryHelperTool("Trk::ITrackSummaryHelperTool", 1, 0);
25 
37  class ITrackSummaryHelperTool : virtual public IAlgTool {
38  public:
39  static const InterfaceID& interfaceID();
40 
45  virtual void analyse(
46  const Trk::Track& track,
47  const RIO_OnTrack* rot,
48  const TrackStateOnSurface* tsos,
49  std::vector<int>& information,
50  std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const = 0;
51 
52  virtual void analyse(
53  const Trk::Track& track,
54  const CompetingRIOsOnTrack* crot,
55  const TrackStateOnSurface* tsos,
56  std::vector<int>& information,
57  std::bitset<Trk::numberOfDetectorTypes>& hitPattern) const = 0;
58 
59  virtual void searchForHoles(
60  const Trk::Track& track,
61  std::vector<int>& information,
62  const Trk::ParticleHypothesis partHyp = Trk::pion) const = 0;
63 
65  Trk::TrackSummary& summary) const = 0;
66 
67  };
68 
69  inline const InterfaceID& Trk::ITrackSummaryHelperTool::interfaceID()
70  {
71  return IID_ITrackSummaryHelperTool;
72  }
73 
74 
75 }
76 #endif
77 
Trk::ITrackSummaryHelperTool::analyse
virtual void analyse(const Trk::Track &track, const RIO_OnTrack *rot, const TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const =0
fill 'information' and 'hitpattern' using information from 'rot'.
Trk::ITrackSummaryHelperTool::searchForHoles
virtual void searchForHoles(const Trk::Track &track, std::vector< int > &information, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ITrackSummaryHelperTool::addDetailedTrackSummary
virtual void addDetailedTrackSummary(const Trk::Track &track, Trk::TrackSummary &summary) const =0
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
Trk::ITrackSummaryHelperTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackSummaryHelperTool.h:69
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::ITrackSummaryHelperTool::analyse
virtual void analyse(const Trk::Track &track, const CompetingRIOsOnTrack *crot, const TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const =0
Trk::MeasurementBaseType::CompetingRIOsOnTrack
@ CompetingRIOsOnTrack
Definition: MeasurementBase.h:50
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
TrackSummary.h
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Trk::ITrackSummaryHelperTool
Interface for structuring the summary creation into sub-detector specific tools.
Definition: ITrackSummaryHelperTool.h:37
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65