ATLAS Offline Software
Loading...
Searching...
No Matches
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
12
13#include <map>
14#include <optional>
15#include <set>
16
17#include "GaudiKernel/IAlgTool.h"
22
23namespace MuonCombined {
24 class InDetCandidate;
25 class TagBase;
26}
27namespace 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 }
39
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
DataVector< Trk::CaloExtension > CaloExtensionCollection
base-class for combined reconstruction output Provides access to MuonType and Author
Definition TagBase.h:48
virtual ~IMuonSystemExtensionTool()=default
Virtual destructor.
virtual bool muonSystemExtension(const EventContext &ctx, SystemExtensionCache &cache) const =0
get muon system extension
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...
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Helper struct to pipe all data needed by the tool to equip the Id track with a MuonSystemExtension.
bool requireSystemExtension
Require that the muon system extension was successful.
bool createSystemExtension
Try to create the muon system extension.
const std::map< MuonStationIndex::DetectorRegionIndex, std::set< int > > * sectorsWithHits
Cache the sectors which have a recorded hit.
bool useHitSectors
Switch to restrict the intersection search only to the sectors with hits.
const CaloExtensionCollection * extensionContainer
Cache of the CaloExtensions.
std::unique_ptr< MuonCombined::InDetCandidate > candidate
Inner detector candidate.