ATLAS Offline Software
MDT_RawDataProviderToolMT.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 #ifndef MUONMDTCNVTOOLS_MUONMDTRAWDATAPROVIDERTOOLMT_H
6 #define MUONMDTCNVTOOLS_MUONMDTRAWDATAPROVIDERTOOLMT_H
7 
8 #include <set>
9 
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
15 #include "MdtROD_Decoder.h"
18 #include "MuonRDO/MdtCsm_Cache.h"
20 
22 #include "MuonRDO/MdtCsm_Cache.h"
23 
24 class MdtCsmContainer;
25 
26 namespace Muon {
27 
32  class MDT_RawDataProviderToolMT : public extends<AthAlgTool, IMuonRawDataProviderTool> {
33  public:
34  MDT_RawDataProviderToolMT(const std::string&, const std::string&, const IInterface*);
35 
37  virtual ~MDT_RawDataProviderToolMT() = default;
38 
40  virtual StatusCode initialize() override;
41 
42 
44  virtual StatusCode convert(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs) const override;
45  virtual StatusCode convert(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
46  const std::vector<IdentifierHash>&) const override;
48  virtual StatusCode convert() const override;
49  virtual StatusCode convert(const std::vector<IdentifierHash>& HashVec) const override;
50  virtual StatusCode convert(const std::vector<uint32_t>& robIds) const override;
51 
52  virtual StatusCode convert(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
53  const EventContext& ctx) const override;
54  virtual StatusCode convert(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
55  const std::vector<IdentifierHash>&, const EventContext& ctx) const override;
56  virtual StatusCode convert(const EventContext& ctx) const override;
57  virtual StatusCode convert(const std::vector<IdentifierHash>& HashVec, const EventContext& ctx) const override;
58  virtual StatusCode convert(const std::vector<uint32_t>& robIds,
59  const EventContext& ctx) const override;
60 
61  virtual StatusCode convertIntoContainer(const std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vecRobs,
62  MdtCsmContainer& mdtContainer) const;
63 
64  private:
65 
66  ToolHandle<MdtROD_Decoder> m_decoder{this, "Decoder", "MdtROD_Decoder/MdtROD_Decoder"};
68  "Name of the MDTCSM produced by RawDataProvider"};
69 
70  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
71 
72  unsigned int m_maxhashtoUse = 0U;
73 
74  // Rob Data Provider handle
75  ServiceHandle<IROBDataProviderSvc> m_robDataProvider{this, "ROBDataProviderSvc", "ROBDataProviderSvc"};
76 
77  SG::ReadCondHandleKey<MuonMDT_CablingMap> m_readKey{this, "ReadKey", "MuonMDT_CablingMap", "Key of MuonMDT_CablingMap"};
80  "Optional external cache for the CSM container"
81  };
82  };
83 } // namespace Muon
84 
85 #endif
Muon::MDT_RawDataProviderToolMT
Definition: MDT_RawDataProviderToolMT.h:32
SG::UpdateHandleKey
Property holding a SG store/key/clid from which an UpdateHandle is made.
Definition: UpdateHandleKey.h:40
Muon::MDT_RawDataProviderToolMT::initialize
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition: MDT_RawDataProviderToolMT.cxx:17
Muon::MDT_RawDataProviderToolMT::m_decoder
ToolHandle< MdtROD_Decoder > m_decoder
Definition: MDT_RawDataProviderToolMT.h:66
Muon::MDT_RawDataProviderToolMT::convert
virtual StatusCode convert() const override
the new ones
Definition: MDT_RawDataProviderToolMT.cxx:60
Muon::MDT_RawDataProviderToolMT::convertIntoContainer
virtual StatusCode convertIntoContainer(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecRobs, MdtCsmContainer &mdtContainer) const
Convert method.
Definition: MDT_RawDataProviderToolMT.cxx:41
IMuonRawDataProviderTool.h
MdtCsmContainer
This container provides acces to the MDT RDOs.
Definition: MdtCsmContainer.h:22
MdtCsm_Cache.h
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MDT_RawDataProviderToolMT::m_rdoContainerKey
SG::WriteHandleKey< MdtCsmContainer > m_rdoContainerKey
Definition: MDT_RawDataProviderToolMT.h:67
SG::WriteHandleKey< MdtCsmContainer >
MuonMDT_CablingMap.h
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Muon::MDT_RawDataProviderToolMT::m_readKey
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey
Definition: MDT_RawDataProviderToolMT.h:77
AthAlgTool.h
MdtROD_Decoder.h
Muon::MDT_RawDataProviderToolMT::m_maxhashtoUse
unsigned int m_maxhashtoUse
Definition: MDT_RawDataProviderToolMT.h:72
Muon::MDT_RawDataProviderToolMT::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MDT_RawDataProviderToolMT.h:70
Muon::MDT_RawDataProviderToolMT::m_rdoContainerCacheKey
SG::UpdateHandleKey< MdtCsm_Cache > m_rdoContainerCacheKey
This is the key for the cache for the CSM containers, can be empty.
Definition: MDT_RawDataProviderToolMT.h:79
ReadCondHandleKey.h
SG::ReadCondHandleKey< MuonMDT_CablingMap >
Muon::MDT_RawDataProviderToolMT::MDT_RawDataProviderToolMT
MDT_RawDataProviderToolMT(const std::string &, const std::string &, const IInterface *)
Definition: MDT_RawDataProviderToolMT.cxx:11
Muon::MDT_RawDataProviderToolMT::~MDT_RawDataProviderToolMT
virtual ~MDT_RawDataProviderToolMT()=default
default destructor
IROBDataProviderSvc.h
Muon::MDT_RawDataProviderToolMT::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Definition: MDT_RawDataProviderToolMT.h:75
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >