ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonRPC_CnvTools
src
RPC_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 MUONRPCRAWDATAPROVIDERTOOL_H
6
#define MUONRPCRAWDATAPROVIDERTOOL_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
ByteStreamCnvSvcBase/IROBDataProviderSvc.h
"
10
#include "
ByteStreamData/RawEvent.h
"
11
#include "GaudiKernel/ServiceHandle.h"
12
#include "GaudiKernel/ToolHandle.h"
13
#include "
MuonCnvToolInterfaces/IMuonRawDataProviderTool.h
"
14
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
15
#include "
MuonRDO/RpcPad_Cache.h
"
16
#include "
MuonRDO/RpcPadContainer.h
"
17
#include "
MuonRDO/RpcSectorLogicContainer.h
"
18
#include "
MuonRPC_CnvTools/IRpcROD_Decoder.h
"
19
#include "
RPC_CondCabling/RpcCablingCondData.h
"
20
#include "
StoreGate/ReadCondHandleKey.h
"
21
22
namespace
Muon
{
23
24
class
RPC_RawDataProviderTool
:
public
extends<AthAlgTool, IMuonRawDataProviderTool> {
25
public
:
26
using
base_class::base_class;
27
28
virtual
~RPC_RawDataProviderTool
() =
default
;
29
30
virtual
StatusCode
initialize
()
override
;
31
33
34
virtual
StatusCode
convert
(
const
EventContext&)
const override
;
35
virtual
StatusCode
convert
(
const
std::vector<IdentifierHash>&,
const
EventContext&)
const override
;
36
virtual
StatusCode
convert
(
const
std::vector<uint32_t>&,
const
EventContext&)
const override
;
37
38
private
:
39
StatusCode
convertIntoContainer
(
const
ROBFragmentList& vecRobs,
40
const
std::vector<IdentifierHash>& collections,
41
const
EventContext& ctx)
const
;
42
// This function does all the actual work of decoding the data
43
StatusCode
convertIntoContainers
(
const
ROBFragmentList& vecRobs,
44
const
std::vector<IdentifierHash>& collections,
RpcPadContainer
* pad,
45
RpcSectorLogicContainer
* logic,
const
bool
& decodeSL,
46
const
EventContext& ctx)
const
;
47
48
std::vector<IdentifierHash>
to_be_converted
(
const
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
& robFrag,
49
const
std::vector<IdentifierHash>& coll)
const
;
50
51
private
:
52
SG::ReadCondHandleKey<RpcCablingCondData>
m_readKey
{
this
,
"ReadKey"
,
"RpcCablingCondData"
,
"Key of RpcCablingCondData"
};
53
54
// Rob Data Provider handle
55
ServiceHandle<IROBDataProviderSvc>
m_robDataProvider
{
this
,
"ROBDataProviderSvc"
,
"ROBDataProviderSvc"
};
56
57
// ROD decoding tool
58
ToolHandle<IRpcROD_Decoder>
m_decoder
{
this
,
"Decoder"
,
"Muon::RpcROD_Decoder/RpcROD_Decoder"
};
59
60
// WriteHandleKey for RPC PAD container
61
SG::WriteHandleKey<RpcPadContainer>
m_containerKey
{
this
,
"RdoLocation"
,
"RPCPAD"
,
"Name of the RPCPAD produced by RawDataProvider"
};
62
// WriteHandleKey for RPC sector logic container
63
SG::WriteHandleKey<RpcSectorLogicContainer>
m_sec
{
this
,
"RPCSec"
,
"RPC_SECTORLOGIC"
,
64
"Name of the RPC_SECTORLOGIC produced by RawDataProvider"
};
65
67
SG::UpdateHandleKey<RpcPad_Cache>
m_rdoContainerCacheKey
{
this
,
"RpcContainerCacheKey"
,
68
""
,
"Optional external cache for the RPC container"
};
69
70
Gaudi::Property<bool>
m_WriteOutRpcSectorLogic
{
this
,
"WriteOutRpcSectorLogic"
,
true
,
"Turn on/off RpcSectorLogic writing"
};
71
72
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
73
};
74
75
}
// namespace Muon
76
77
#endif
AthAlgTool.h
IMuonIdHelperSvc.h
IMuonRawDataProviderTool.h
IROBDataProviderSvc.h
IRpcROD_Decoder.h
RawEvent.h
ReadCondHandleKey.h
RpcCablingCondData.h
RpcPadContainer.h
RpcPad_Cache.h
RpcSectorLogicContainer.h
Muon::RPC_RawDataProviderTool
Definition
RPC_RawDataProviderTool.h:24
Muon::RPC_RawDataProviderTool::m_containerKey
SG::WriteHandleKey< RpcPadContainer > m_containerKey
Definition
RPC_RawDataProviderTool.h:61
Muon::RPC_RawDataProviderTool::m_sec
SG::WriteHandleKey< RpcSectorLogicContainer > m_sec
Definition
RPC_RawDataProviderTool.h:63
Muon::RPC_RawDataProviderTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
RPC_RawDataProviderTool.h:72
Muon::RPC_RawDataProviderTool::convert
virtual StatusCode convert(const EventContext &) const override
Decoding method - IMuonRawDataProviderTool interface (EventContext-based).
Definition
RPC_RawDataProviderTool.cxx:96
Muon::RPC_RawDataProviderTool::m_decoder
ToolHandle< IRpcROD_Decoder > m_decoder
Definition
RPC_RawDataProviderTool.h:58
Muon::RPC_RawDataProviderTool::m_rdoContainerCacheKey
SG::UpdateHandleKey< RpcPad_Cache > m_rdoContainerCacheKey
RPC container cache key.
Definition
RPC_RawDataProviderTool.h:67
Muon::RPC_RawDataProviderTool::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Definition
RPC_RawDataProviderTool.h:55
Muon::RPC_RawDataProviderTool::~RPC_RawDataProviderTool
virtual ~RPC_RawDataProviderTool()=default
Muon::RPC_RawDataProviderTool::initialize
virtual StatusCode initialize() override
Definition
RPC_RawDataProviderTool.cxx:16
Muon::RPC_RawDataProviderTool::to_be_converted
std::vector< IdentifierHash > to_be_converted(const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, const std::vector< IdentifierHash > &coll) const
Definition
RPC_RawDataProviderTool.cxx:73
Muon::RPC_RawDataProviderTool::convertIntoContainer
StatusCode convertIntoContainer(const ROBFragmentList &vecRobs, const std::vector< IdentifierHash > &collections, const EventContext &ctx) const
Definition
RPC_RawDataProviderTool.cxx:121
Muon::RPC_RawDataProviderTool::convertIntoContainers
StatusCode convertIntoContainers(const ROBFragmentList &vecRobs, const std::vector< IdentifierHash > &collections, RpcPadContainer *pad, RpcSectorLogicContainer *logic, const bool &decodeSL, const EventContext &ctx) const
Definition
RPC_RawDataProviderTool.cxx:46
Muon::RPC_RawDataProviderTool::m_WriteOutRpcSectorLogic
Gaudi::Property< bool > m_WriteOutRpcSectorLogic
Turn on/off RpcSectorConfig writing.
Definition
RPC_RawDataProviderTool.h:70
Muon::RPC_RawDataProviderTool::m_readKey
SG::ReadCondHandleKey< RpcCablingCondData > m_readKey
Definition
RPC_RawDataProviderTool.h:52
RpcPadContainer
Use IdentifiableContainer with RpcPad.
Definition
RpcPadContainer.h:23
RpcSectorLogicContainer
Definition
RpcSectorLogicContainer.h:20
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::UpdateHandleKey
Property holding a SG store/key/clid from which an UpdateHandle is made.
Definition
UpdateHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
eformat::ROBFragment< PointerType > ROBFragment
Definition
RawEvent.h:27
Generated on
for ATLAS Offline Software by
1.17.0