ATLAS Offline Software
Loading...
Searching...
No Matches
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"
20
23
24class MdtCsmContainer;
25
26namespace Muon {
27
31
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;
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;
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
This container provides acces to the MDT RDOs.
virtual StatusCode convert() const override
the new ones
virtual ~MDT_RawDataProviderToolMT()=default
default destructor
SG::UpdateHandleKey< MdtCsm_Cache > m_rdoContainerCacheKey
This is the key for the cache for the CSM containers, can be empty.
MDT_RawDataProviderToolMT(const std::string &, const std::string &, const IInterface *)
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey
virtual StatusCode initialize() override
standard Athena-Algorithm method
virtual StatusCode convertIntoContainer(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vecRobs, MdtCsmContainer &mdtContainer) const
Convert method.
ToolHandle< MdtROD_Decoder > m_decoder
SG::WriteHandleKey< MdtCsmContainer > m_rdoContainerKey
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Property holding a SG store/key/clid from which an UpdateHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.