ATLAS Offline Software
IMuonTrackBuilder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_IMUONTRACKBUILDER_H
6 #define MUON_IMUONTRACKBUILDER_H
7 
8 #include <memory>
9 #include <vector>
10 
11 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace Trk {
14  class Track;
15  class MeasurementBase;
16 } // namespace Trk
17 
18 namespace Muon {
19 
20  class MuPatCandidateBase;
21  class MuPatSegment;
22  class MuPatTrack;
23 
33  class IMuonTrackBuilder : virtual public IAlgTool {
34  public:
36  static const InterfaceID& interfaceID() {
37  static const InterfaceID IID_IMuonTrackBuilder("Muon::IMuonTrackBuilder", 1, 0);
38  return IID_IMuonTrackBuilder;
39  }
40 
47  virtual std::vector<std::unique_ptr<MuPatTrack> > find(const EventContext& ctx, MuPatCandidateBase& candidate, const std::vector<MuPatSegment*>& segments) const = 0;
48  };
49 
50 } // namespace Muon
51 
52 #endif // IMuonTrackBuilder_H
Muon::MuPatCandidateBase
track candidate entry object.
Definition: MuPatCandidateBase.h:46
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::IMuonTrackBuilder::find
virtual std::vector< std::unique_ptr< MuPatTrack > > find(const EventContext &ctx, MuPatCandidateBase &candidate, const std::vector< MuPatSegment * > &segments) const =0
interface for tools to find track in the muon system starting from a vector of segments
Muon::IMuonTrackBuilder::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonTrackBuilder.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Muon::IMuonTrackBuilder
The IMuonTrackBuilder is a pure virtual interface for tools extending muon track candidates with segm...
Definition: IMuonTrackBuilder.h:33