ATLAS Offline Software
ITrackHoleSearchTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ITrackHoleSearchTool.h, (c) ATLAS Detector software
8 #ifndef ITRACKHOLESEARCHTOOL_H
9 #define ITRACKHOLESEARCHTOOL_H
10 
11 #include "GaudiKernel/IAlgTool.h"
14 
15 namespace Trk
16 {
17  class Track;
18  class TrackStateOnSurface;
20  static const InterfaceID IID_ITrackHoleSearchTool("Trk::ITrackHoleSearchTool", 1, 0);
21 
31  class ITrackHoleSearchTool : virtual public IAlgTool {
32  public:
33  static const InterfaceID& interfaceID( ) ;
34 
42  virtual void countHoles(
43  const Trk::Track& track,
44  std::vector<int>& information ,
45  const Trk::ParticleHypothesis partHyp = Trk::pion) const = 0;
46 
53  const Trk::Track& track,
54  const Trk::ParticleHypothesis partHyp = Trk::pion) const = 0;
55 
61  virtual const Trk::Track* getTrackWithHoles(
62  const Trk::Track& track,
63  const Trk::ParticleHypothesis partHyp = Trk::pion) const = 0;
64 
65 
72  const Trk::Track& track,
73  const Trk::ParticleHypothesis partHyp = Trk::pion) const = 0;
74 
75 
76  };
77 
78  inline const InterfaceID& Trk::ITrackHoleSearchTool::interfaceID()
79  {
80  return IID_ITrackHoleSearchTool;
81  }
82 
83 } // end of namespace
84 
85 #endif
Trk::ITrackHoleSearchTool::getTrackWithHoles
virtual const Trk::Track * getTrackWithHoles(const Trk::Track &track, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
Input : track, parthyp Return: A pointer to a new Trk::Track which containes the information of the i...
Trk::ITrackHoleSearchTool::countHoles
virtual void countHoles(const Trk::Track &track, std::vector< int > &information, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
Input : track, partHyp Output: Changes in information This method fills the fields relevant to the ho...
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::TrackStates
DataVector< const Trk::TrackStateOnSurface > TrackStates
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:30
Trk::ITrackHoleSearchTool::getTrackWithHolesAndOutliers
virtual const Trk::Track * getTrackWithHolesAndOutliers(const Trk::Track &track, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
Input : track, parthyp Return: A pointer to a new Trk::Track which containes the information of the i...
Trk::pion
@ pion
Definition: ParticleHypothesis.h:29
Trk::ITrackHoleSearchTool
interface for searching, counting and adding holes on tracks anywhere in ATLAS.
Definition: ITrackHoleSearchTool.h:31
Trk::ITrackHoleSearchTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrackHoleSearchTool.h:78
DataVector< const Trk::TrackStateOnSurface >
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::ITrackHoleSearchTool::getHolesOnTrack
virtual const Trk::TrackStates * getHolesOnTrack(const Trk::Track &track, const Trk::ParticleHypothesis partHyp=Trk::pion) const =0
Input : track, parthyp Return: A DataVector containing pointers to TrackStateOnSurfaces which each re...