ATLAS Offline Software
Loading...
Searching...
No Matches
STGC_RawDataProviderTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONTGC_CNVTOOLS_STGC_RawDataProviderTool_H
6#define MUONTGC_CNVTOOLS_STGC_RawDataProviderTool_H
7
8
14
17
18namespace Muon
19{
23
24 class STGC_RawDataProviderTool : public extends<AthAlgTool, IMuonRawDataProviderTool> {
25 public:
27 using base_class::base_class;
29 virtual ~STGC_RawDataProviderTool() = default;
30
32 virtual StatusCode initialize() override;
33 // used
34
35
36 virtual StatusCode convert(const EventContext& ctx) const override;
37 virtual StatusCode convert(const std::vector<IdentifierHash>& chamberHashes,
38 const EventContext& ctx) const override;
39 virtual StatusCode convert(const std::vector<uint32_t>& robIDs,
40 const EventContext& ctx) const override;
41
42 private:
44 StatusCode convertIntoContainer (const EventContext& ctx,
45 const ROBFragmentList& fragements,
46 const std::vector<IdentifierHash>& chamberHashes,
47 STGC_RawDataContainer& target) const;
48
50 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
51
53 ToolHandle<ISTGC_ROD_Decoder> m_decoder{this, "Decoder", "Muon::STGC_ROD_Decoder/STGC_ROD_Decoder"};
54
56 SG::WriteHandleKey<STGC_RawDataContainer> m_rdoContainerKey{ this, "RdoLocation", "sTGCRDO", "Name of the sTGCRDO produced by RawDataProvider"}; //MT
57
58 unsigned int m_maxhashtoUse{0}; //MT
59
61 ServiceHandle<IROBDataProviderSvc> m_robDataProvider{this, "RobProviderSvc", "ROBDataProviderSvc"};
62
64 Gaudi::Property<bool> m_skipDecoding{this, "SkipDecoding", false, "Skip the decoding but still write the container"};
65
66
67 StatusCode initRdoContainer(const EventContext&, STGC_RawDataContainer*&) const;
68 std::vector<uint32_t> m_allRobIds;
69
71 "Optional external cache for the sTGC container"};
72 };
73} // end of namespace
74
75#endif // MUONTGC_CNVTOOLS_TGC_RAWDATAPROVIDERTOOLMT_H
A tool to decode STGC ROB fragments into STGC RDO (based on the TGC tool).
StatusCode convertIntoContainer(const EventContext &ctx, const ROBFragmentList &fragements, const std::vector< IdentifierHash > &chamberHashes, STGC_RawDataContainer &target) const
Method that converts the ROBFragments into the passed container.
SG::WriteHandleKey< STGC_RawDataContainer > m_rdoContainerKey
RDO container key.
Gaudi::Property< bool > m_skipDecoding
Flag to skip decoding and write empty container.
StatusCode initRdoContainer(const EventContext &, STGC_RawDataContainer *&) const
ToolHandle< ISTGC_ROD_Decoder > m_decoder
Decoder for ROB fragment RDO conversion.
virtual ~STGC_RawDataProviderTool()=default
Default destructor.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
The ID helper.
virtual StatusCode initialize() override
Standard AlgTool method.
SG::UpdateHandleKey< STGC_RawDataCollection_Cache > m_rdoContainerCacheKey
virtual StatusCode convert(const EventContext &ctx) const override
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Rob Data Provider handle.
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.