ATLAS Offline Software
IMuonCombinedInDetExtensionTool.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 IRECMUONCOMBINEDINDETEXTENSIONTOOL_H
6 #define IRECMUONCOMBINEDINDETEXTENSIONTOOL_H
7 
8 #include "GaudiKernel/IAlgTool.h"
16 
17 namespace MuonCombined {
18 
25  class IMuonCombinedInDetExtensionTool : virtual public IAlgTool {
26  public:
27  struct MuonPrdData {
28  MuonPrdData() : mdtPrds(nullptr), rpcPrds(nullptr), tgcPrds(nullptr), cscPrds(nullptr), stgcPrds(nullptr), mmPrds(nullptr) {}
35  };
36 
37  static const InterfaceID& interfaceID() {
38  static const InterfaceID IID_IMuonCombinedInDetExtensionTool("MuonCombined::IMuonCombinedInDetExtensionTool", 1, 0);
39  return IID_IMuonCombinedInDetExtensionTool;
40  }
41 
43  virtual void extend(const InDetCandidateCollection& inDetCandidates, InDetCandidateToTagMap* tagMap, TrackCollection* combTracks,
44  TrackCollection* meTracks, Trk::SegmentCollection* segments, const EventContext& ctx) const = 0;
45 
46  /*New interface including PRDs for MuGirl segment-finding*/
47  virtual void extendWithPRDs(const InDetCandidateCollection& inDetCandidates, InDetCandidateToTagMap* tagMap,
49  TrackCollection* meTracks, Trk::SegmentCollection* segments, const EventContext& ctx) const = 0;
50 
51  virtual ~IMuonCombinedInDetExtensionTool() = default;
52  };
53 
54 } // namespace MuonCombined
55 
56 #endif
Muon::MuonPrepDataContainer
Template for Muon PRD containers (which are basically collections of MuonPrepDataCollections).
Definition: MuonPrepDataContainer.h:42
MuonCombined::IMuonCombinedInDetExtensionTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IMuonCombinedInDetExtensionTool.h:37
MuonCombined::InDetCandidateToTagMap
Definition: InDetCandidateToTagMap.h:15
MuonCombined::IMuonCombinedInDetExtensionTool::~IMuonCombinedInDetExtensionTool
virtual ~IMuonCombinedInDetExtensionTool()=default
MMPrepDataContainer.h
MuonPrepDataContainer.h
MuonCombined::IMuonCombinedInDetExtensionTool::extendWithPRDs
virtual void extendWithPRDs(const InDetCandidateCollection &inDetCandidates, InDetCandidateToTagMap *tagMap, IMuonCombinedInDetExtensionTool::MuonPrdData prdData, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments, const EventContext &ctx) const =0
sTgcPrepDataContainer.h
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::cscPrds
const Muon::CscPrepDataContainer * cscPrds
Definition: IMuonCombinedInDetExtensionTool.h:32
TrackCollection.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
InDetCandidateToTagMap.h
MuonCombined::IMuonCombinedInDetExtensionTool
interface for tools buildingmuons from ID candidates
Definition: IMuonCombinedInDetExtensionTool.h:25
MuonCombined::IMuonCombinedInDetExtensionTool::extend
virtual void extend(const InDetCandidateCollection &inDetCandidates, InDetCandidateToTagMap *tagMap, TrackCollection *combTracks, TrackCollection *meTracks, Trk::SegmentCollection *segments, const EventContext &ctx) const =0
IMuonCombinedInDetExtensionTool interface: build combined muons from ID candidates.
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::rpcPrds
const Muon::RpcPrepDataContainer * rpcPrds
Definition: IMuonCombinedInDetExtensionTool.h:30
InDetCandidateCollection.h
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData
Definition: IMuonCombinedInDetExtensionTool.h:27
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::tgcPrds
const Muon::TgcPrepDataContainer * tgcPrds
Definition: IMuonCombinedInDetExtensionTool.h:31
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::mmPrds
const Muon::MMPrepDataContainer * mmPrds
Definition: IMuonCombinedInDetExtensionTool.h:34
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::MuonPrdData
MuonPrdData()
Definition: IMuonCombinedInDetExtensionTool.h:28
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::stgcPrds
const Muon::sTgcPrepDataContainer * stgcPrds
Definition: IMuonCombinedInDetExtensionTool.h:33
SegmentCollection.h
MuonCombined::IMuonCombinedInDetExtensionTool::MuonPrdData::mdtPrds
const Muon::MdtPrepDataContainer * mdtPrds
Definition: IMuonCombinedInDetExtensionTool.h:29