ATLAS Offline Software
IMuonSegmentOverlapRemovalTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_IMUONSEGMENTOVERLAPREMOVALTOOL_H
6 #define MUON_IMUONSEGMENTOVERLAPREMOVALTOOL_H
7 
8 #include <vector>
9 
10 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace Muon {
14 
15  class MuonSegment;
16  class MuonSegmentCombination;
17 
22  class IMuonSegmentOverlapRemovalTool : virtual public IAlgTool {
23  public:
25  static const InterfaceID& interfaceID() {
26  static const InterfaceID IID_IMuonSegmentOverlapRemovalTool("Muon::IMuonSegmentOverlapRemovalTool", 1, 0);
27  return IID_IMuonSegmentOverlapRemovalTool;
28  }
29 
31  virtual void removeDuplicates(Trk::SegmentCollection& segments) const = 0;
32 
36  virtual std::unique_ptr<MuonSegmentCombination> removeDuplicates(const MuonSegmentCombination& combi) const = 0;
37  };
38 
39 } // namespace Muon
40 
41 #endif
Muon::MuonSegmentCombination
Definition: MuonSegmentCombination.h:30
Muon::IMuonSegmentOverlapRemovalTool::removeDuplicates
virtual std::unique_ptr< MuonSegmentCombination > removeDuplicates(const MuonSegmentCombination &combi) const =0
remove duplicates from a MuonSegmentCombination.
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::IMuonSegmentOverlapRemovalTool::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonSegmentOverlapRemovalTool.h:25
Muon::IMuonSegmentOverlapRemovalTool
abstract interface for tools removing duplicates from segment collections and segment combinations
Definition: IMuonSegmentOverlapRemovalTool.h:22
DataVector< Trk::Segment >
Muon::IMuonSegmentOverlapRemovalTool::removeDuplicates
virtual void removeDuplicates(Trk::SegmentCollection &segments) const =0
remove duplicates from a Trk::SegmentCollection
SegmentCollection.h