ATLAS Offline Software
IMuonSystemExtensionTool.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_IMUONSYSTEMEXTENSIONTOOL_H
6 #define MUON_IMUONSYSTEMEXTENSIONTOOL_H
7 
13 #include <map>
14 #include <optional>
15 #include <set>
16 
17 #include "GaudiKernel/IAlgTool.h"
22 
23 namespace MuonCombined {
24  class InDetCandidate;
25  class TagBase;
26 }
27 namespace Muon {
28 
29  class IMuonSystemExtensionTool : virtual public IAlgTool {
30  public:
32  virtual ~IMuonSystemExtensionTool() = default;
33 
35  static const InterfaceID& interfaceID() {
36  static const InterfaceID IID_IMuonSystemExtensionTool("Muon::IMuonSystemExtensionTool", 1, 0);
37  return IID_IMuonSystemExtensionTool;
38  }
42 
44  std::unique_ptr<MuonCombined::InDetCandidate> candidate;
47  const std::map<MuonStationIndex::DetectorRegionIndex, std::set<int>>* sectorsWithHits{nullptr};
52  bool useHitSectors{false};
57  };
58 
60  virtual bool muonSystemExtension(const EventContext& ctx, SystemExtensionCache& cache) const = 0;
61 
63  virtual bool muonLayerInterSections(const EventContext& ctx,
64  const MuonCombined::TagBase& cmb_tag,
65  SystemExtensionCache& cache) const = 0;
66  };
67 
68 } // namespace Muon
69 
70 #endif
Muon::IMuonSystemExtensionTool::SystemExtensionCache::sectorsWithHits
const std::map< MuonStationIndex::DetectorRegionIndex, std::set< int > > * sectorsWithHits
Cache the sectors which have a recorded hit.
Definition: IMuonSystemExtensionTool.h:47
Muon::IMuonSystemExtensionTool::SystemExtensionCache::candidate
std::unique_ptr< MuonCombined::InDetCandidate > candidate
Inner detector candidate.
Definition: IMuonSystemExtensionTool.h:44
Muon::IMuonSystemExtensionTool::SystemExtensionCache::requireSystemExtension
bool requireSystemExtension
Require that the muon system extension was successful.
Definition: IMuonSystemExtensionTool.h:56
Muon::IMuonSystemExtensionTool::interfaceID
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
Definition: IMuonSystemExtensionTool.h:35
MuonCombined::InDetCandidate
Definition: InDetCandidate.h:18
Muon::IMuonSystemExtensionTool::SystemExtensionCache::extensionContainer
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
Definition: IMuonSystemExtensionTool.h:49
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::IMuonSystemExtensionTool::SystemExtensionCache::createSystemExtension
bool createSystemExtension
Try to create the muon system extension.
Definition: IMuonSystemExtensionTool.h:54
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
MuonSystemExtension.h
Muon::IMuonSystemExtensionTool::muonLayerInterSections
virtual bool muonLayerInterSections(const EventContext &ctx, const MuonCombined::TagBase &cmb_tag, SystemExtensionCache &cache) const =0
Constructs the layer intersections from a primary muon track using the track states in the muon spect...
CaloExtensionCollection.h
Muon::IMuonSystemExtensionTool::SystemExtensionCache
Helper struct to pipe all data needed by the tool to equip the Id track with a MuonSystemExtension.
Definition: IMuonSystemExtensionTool.h:41
TrackParticle.h
Muon::IMuonSystemExtensionTool
Definition: IMuonSystemExtensionTool.h:29
MuonCombined
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
Definition: IMuonSystemExtensionTool.h:23
Muon::IMuonSystemExtensionTool::muonSystemExtension
virtual bool muonSystemExtension(const EventContext &ctx, SystemExtensionCache &cache) const =0
get muon system extension
Muon::IMuonSystemExtensionTool::SystemExtensionCache::useHitSectors
bool useHitSectors
Switch to restrict the intersection search only to the sectors with hits.
Definition: IMuonSystemExtensionTool.h:52
MuonStationIndex.h
Muon::IMuonSystemExtensionTool::~IMuonSystemExtensionTool
virtual ~IMuonSystemExtensionTool()=default
Virtual destructor.
MuonCombined::TagBase
base-class for combined reconstruction output Provides access to MuonType and Author
Definition: TagBase.h:48