Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ITrackSummaryTool.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 TRKITRACKSUMMARYTOOL_H
6 #define TRKITRACKSUMMARYTOOL_H
7 
8 #include "GaudiKernel/EventContext.h"
9 #include "GaudiKernel/ThreadLocalContext.h"
10 #include "GaudiKernel/IAlgTool.h"
12 #include <memory>
13 namespace Trk {
14 
15 class Track;
16 class TrackSummary;
17 
18 static const InterfaceID IID_ITrackSummaryTool("Trk::ITrackSummaryTool", 1, 0);
19 
26 class ITrackSummaryTool : virtual public IAlgTool
27 {
28 public:
29  static const InterfaceID& interfaceID();
30 
31  /* Start from a copy of the existing input track summary if there,
32  * otherwise start from a new one. Fill it and return it.
33  * Does not modify the const track.
34  */
35  virtual std::unique_ptr<Trk::TrackSummary> summary(
36  const EventContext& ctx,
37  const Track& track) const = 0;
38 
39  /* Start from a copy of the existing input track summary if there,
40  * otherwise start from a new one. Fill it and return it.
41  * but without doing the hole search.
42  * Does not modify the const track.
43  */
44  virtual std::unique_ptr<Trk::TrackSummary> summaryNoHoleSearch(
45  const EventContext& ctx,
46  const Track& track) const = 0;
47 
53  virtual void updateTrack(const EventContext& ctx, Track& track) const = 0;
54 
60  virtual void updateTrackSummary(const EventContext& ctx,
61  Track& track) const = 0;
62 
65  virtual void updateAdditionalInfo(Track& track) const = 0;
66 };
67 
68 inline const InterfaceID&
70 {
71  return IID_ITrackSummaryTool;
72 }
73 
74 }
75 #endif
Trk::ITrackSummaryTool
Interface for condensing Trk::Track properties and associated hits to a (non-fittable) foot print,...
Definition: ITrackSummaryTool.h:27
Trk::ITrackSummaryTool::updateTrackSummary
virtual void updateTrackSummary(const EventContext &ctx, Track &track) const =0
method which can be used to update the summary of a track it, without doing shared hit/ or hole searc...
TrackSummary.h
Trk::ITrackSummaryTool::updateTrack
virtual void updateTrack(const EventContext &ctx, Track &track) const =0
Same behavious as IExtendedTrackSummaryTool:computeAndReplaceTrackSummary but without the need to pas...
Trk::ITrackSummaryTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackSummaryTool.h:69
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrackSummaryTool::summaryNoHoleSearch
virtual std::unique_ptr< Trk::TrackSummary > summaryNoHoleSearch(const EventContext &ctx, const Track &track) const =0
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::ITrackSummaryTool::updateAdditionalInfo
virtual void updateAdditionalInfo(Track &track) const =0
method to update additional information (PID,shared hits, dEdX), this is optimised for track collecti...
Trk::ITrackSummaryTool::summary
virtual std::unique_ptr< Trk::TrackSummary > summary(const EventContext &ctx, const Track &track) const =0
xAOD::TrackSummary
TrackSummary_v1 TrackSummary
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackSummary.h:10