ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/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>
13namespace Trk {
14
15class Track;
16class TrackSummary;
17
18static const InterfaceID IID_ITrackSummaryTool("Trk::ITrackSummaryTool", 1, 0);
19
26class ITrackSummaryTool : virtual public IAlgTool
27{
28public:
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
68inline const InterfaceID&
73
74}
75#endif
Interface for condensing Trk::Track properties and associated hits to a (non-fittable) foot print,...
virtual void updateAdditionalInfo(Track &track) const =0
method to update additional information (PID,shared hits, dEdX), this is optimised for track collecti...
virtual std::unique_ptr< Trk::TrackSummary > summary(const EventContext &ctx, const Track &track) const =0
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...
virtual void updateTrack(const EventContext &ctx, Track &track) const =0
Same behavious as IExtendedTrackSummaryTool:computeAndReplaceTrackSummary but without the need to pas...
virtual std::unique_ptr< Trk::TrackSummary > summaryNoHoleSearch(const EventContext &ctx, const Track &track) const =0
A summary of the information contained by a track.
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_ITrackSummaryTool("Trk::ITrackSummaryTool", 1, 0)