ATLAS Offline Software
Loading...
Searching...
No Matches
RpcClusterPreparator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGL2MUONSA_RPCCLUSTERPREPARATOR_H
6#define TRIGL2MUONSA_RPCCLUSTERPREPARATOR_H
7
8
10#include "GaudiKernel/ServiceHandle.h"
11#include "GaudiKernel/ToolHandle.h"
12
16
21
22#include "ClusterPatFinder.h"
23
24
25// --------------------------------------------------------------------------------
26// --------------------------------------------------------------------------------
27
28namespace TrigL2MuonSA {
29
31{
32 public:
33
34 RpcClusterPreparator(const std::string& type,
35 const std::string& name,
36 const IInterface* parent);
37
38 virtual StatusCode initialize() override;
39
40 StatusCode clusteringRPCs(const bool doMultiMuon,
41 const std::vector<const Muon::RpcPrepDataCollection*>& rpcCols,
42 const TrigRoiDescriptor* p_roids,
43 const ToolHandle<ClusterPatFinder>* clusterPatFinder,
44 TrigL2MuonSA::RpcLayerClusters& rpcLayerClusters) const;
45
46 typedef std::map<int, const Muon::RpcPrepData*, std::less<int> > pattern;
47 int buildPatterns(const bool doMultiMuon,
48 const TrigRoiDescriptor* p_roids,
49 const Muon::RpcPrepDataCollection* rpcCollection,
50 std::map<Identifier, pattern>& digits) const;
51
52 void buildClusters(const ToolHandle<ClusterPatFinder>* clusterPatFinder,
53 std::map<Identifier, pattern>& digits,
54 TrigL2MuonSA::RpcLayerClusters& rpcLayerClusters) const;
55 private:
56
57 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
58 ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recRPCRoiTool{ this, "TrigT1RPCRecRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"};
59
60};
61
62} // namespace TrigL2MuonSA
63
64#endif // TRIGL2MUONSA_RPCCLUSTERPREPARATOR_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode clusteringRPCs(const bool doMultiMuon, const std::vector< const Muon::RpcPrepDataCollection * > &rpcCols, const TrigRoiDescriptor *p_roids, const ToolHandle< ClusterPatFinder > *clusterPatFinder, TrigL2MuonSA::RpcLayerClusters &rpcLayerClusters) const
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recRPCRoiTool
std::map< int, const Muon::RpcPrepData *, std::less< int > > pattern
virtual StatusCode initialize() override
void buildClusters(const ToolHandle< ClusterPatFinder > *clusterPatFinder, std::map< Identifier, pattern > &digits, TrigL2MuonSA::RpcLayerClusters &rpcLayerClusters) const
RpcClusterPreparator(const std::string &type, const std::string &name, const IInterface *parent)
int buildPatterns(const bool doMultiMuon, const TrigRoiDescriptor *p_roids, const Muon::RpcPrepDataCollection *rpcCollection, std::map< Identifier, pattern > &digits) const
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...
MuonPrepDataCollection< RpcPrepData > RpcPrepDataCollection