ATLAS Offline Software
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 
11 namespace 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
Muon::IMuonCombinePatternTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IMuonCombinePatternTool.h:29
Muon::IMuonCombinePatternTool::~IMuonCombinePatternTool
virtual ~IMuonCombinePatternTool()=default
Muon::IMuonCombinePatternTool::makeCombinedPattern
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
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
PrepRawData.h
Muon::MuonPrdPattern
Class to store a pattern in the muon system containing PrepRawData pointers.
Definition: MuonPrdPattern.h:27
Muon::IMuonCombinePatternTool::EtaPhiHitAssocMap
std::map< const Trk::PrepRawData *, PrepDataSet > EtaPhiHitAssocMap
Definition: IMuonCombinePatternTool.h:25
Muon::IMuonCombinePatternTool::makePatternCombinations
virtual std::unique_ptr< MuonPatternCombinationCollection > makePatternCombinations(const MuonPrdPatternCollection &combinedpatterns) const =0
create a collection of Muon::MuonPatternCombination from a collection of Muon::MuonPrdPattern objects
MuonPatternCombinationCollection.h
Muon::IMuonCombinePatternTool::combineEtaPhiPatterns
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...
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Muon::IMuonCombinePatternTool::IdentifierPrdLess::operator()
bool operator()(const Trk::PrepRawData *pT1, const Trk::PrepRawData *pT2) const
Definition: IMuonCombinePatternTool.h:21
Trk::PrepRawData
Definition: PrepRawData.h:62
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
MuonPatternCollection.h
Muon::IMuonCombinePatternTool::PrepDataSet
std::set< const Trk::PrepRawData *, IdentifierPrdLess > PrepDataSet
Definition: IMuonCombinePatternTool.h:24
Muon::IMuonCombinePatternTool
Interface for tools combining Muon::MuonPattern objects.
Definition: IMuonCombinePatternTool.h:14
Muon::IMuonCombinePatternTool::IdentifierPrdLess
comparison functor for Trk::PrepRawData* (on identfier) used for sorting set<Trk::PrepRawData*> ,...
Definition: IMuonCombinePatternTool.h:20