ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonCombinePatternTool.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#include "GaudiKernel/IAlgTool.h"
9
10
11namespace Muon {
12
14 class IMuonCombinePatternTool : virtual public IAlgTool {
15 public:
21 bool operator()(const Trk::PrepRawData* pT1, const Trk::PrepRawData* pT2) const {
22 return pT1->identify() < pT2->identify(); }
23 };
24 using PrepDataSet = std::set<const Trk::PrepRawData*, IdentifierPrdLess>;
25 using EtaPhiHitAssocMap = std::map<const Trk::PrepRawData*, PrepDataSet>;
26
27 virtual ~IMuonCombinePatternTool() = default;
28
29 static const InterfaceID& interfaceID(){
30 static const InterfaceID IID_IMuonCombinePatternTool("Muon::IMuonCombinePatternTool", 1, 0);
31 return IID_IMuonCombinePatternTool;
32 }
33
36 virtual std::unique_ptr<MuonPrdPatternCollection> combineEtaPhiPatterns(
37 const MuonPrdPatternCollection& phipatterns, const MuonPrdPatternCollection& etapatterns,
38 const EtaPhiHitAssocMap& phiEtaHitAssMap) const = 0;
39
42 virtual std::unique_ptr<Muon::MuonPrdPattern> makeCombinedPattern(const Muon::MuonPrdPattern& phipattern,
43 const Muon::MuonPrdPattern& etapattern) const = 0;
44
47 virtual std::unique_ptr<MuonPatternCombinationCollection> makePatternCombinations(const MuonPrdPatternCollection& combinedpatterns) const = 0;
48 };
49
50} // namespace Muon
DataVector< Muon::MuonPrdPattern > MuonPrdPatternCollection
Interface for tools combining Muon::MuonPattern objects.
virtual ~IMuonCombinePatternTool()=default
virtual std::unique_ptr< MuonPrdPatternCollection > combineEtaPhiPatterns(const MuonPrdPatternCollection &phipatterns, const MuonPrdPatternCollection &etapatterns, const EtaPhiHitAssocMap &phiEtaHitAssMap) const =0
combine a collection of Muon::MuonPattern object in the phi-plane with a collection of Muon::MuonPatt...
std::set< const Trk::PrepRawData *, IdentifierPrdLess > PrepDataSet
virtual std::unique_ptr< MuonPatternCombinationCollection > makePatternCombinations(const MuonPrdPatternCollection &combinedpatterns) const =0
create a collection of Muon::MuonPatternCombination from a collection of Muon::MuonPrdPattern objects
std::map< const Trk::PrepRawData *, PrepDataSet > EtaPhiHitAssocMap
virtual std::unique_ptr< Muon::MuonPrdPattern > makeCombinedPattern(const Muon::MuonPrdPattern &phipattern, const Muon::MuonPrdPattern &etapattern) const =0
combine a Muon::MuonPattern object in the phi-plane with one the in the eta plane
static const InterfaceID & interfaceID()
Class to store a pattern in the muon system containing PrepRawData pointers.
Identifier identify() const
return the identifier
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
comparison functor for Trk::PrepRawData* (on identfier) used for sorting set<Trk::PrepRawData*> ,...
bool operator()(const Trk::PrepRawData *pT1, const Trk::PrepRawData *pT2) const