ATLAS Offline Software
Loading...
Searching...
No Matches
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
15class Identifier;
16
17namespace Trk {
18
19 class Track;
20 class RIO_OnTrack;
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
64 virtual void addDetailedTrackSummary(const Trk::Track& track,
65 Trk::TrackSummary& summary) const = 0;
66
67 };
68
70 {
72 }
73
74
75}
76#endif
77
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Interface for structuring the summary creation into sub-detector specific tools.
virtual void analyse(const Trk::Track &track, const CompetingRIOsOnTrack *crot, const TrackStateOnSurface *tsos, std::vector< int > &information, std::bitset< Trk::numberOfDetectorTypes > &hitPattern) const =0
virtual void addDetailedTrackSummary(const Trk::Track &track, Trk::TrackSummary &summary) const =0
static const InterfaceID & interfaceID()
virtual void searchForHoles(const Trk::Track &track, std::vector< int > &information, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
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'.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
represents the track state (measurement, material, fit parameters and quality) at a surface.
A summary of the information contained by a track.
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_ITrackSummaryHelperTool("Trk::ITrackSummaryHelperTool", 1, 0)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.