Tool to do decoding of RPC RAW data.
More...
#include <RPC_RawDataProviderToolMT.h>
|
| | RPC_RawDataProviderToolMT (const std::string &t, const std::string &n, const IInterface *p) |
| virtual | ~RPC_RawDataProviderToolMT ()=default |
| virtual StatusCode | initialize () override |
| virtual StatusCode | convert (const ROBFragmentList &vecRobs) const override |
| | Decoding method.
|
| virtual StatusCode | convert (const ROBFragmentList &vecRobs, const std::vector< IdentifierHash > &coll) const override |
| virtual StatusCode | convert () const override |
| | the new ones
|
| virtual StatusCode | convert (const std::vector< IdentifierHash > &) const override |
| | for a selection of rdo collections
|
| virtual StatusCode | convert (const std::vector< uint32_t > &) const override |
| virtual StatusCode | convert (const ROBFragmentList &, const EventContext &) const override |
| | EventContext ones.
|
| virtual StatusCode | convert (const ROBFragmentList &, const std::vector< IdentifierHash > &, const EventContext &) const override |
| virtual StatusCode | convert (const EventContext &) const override |
| virtual StatusCode | convert (const std::vector< IdentifierHash > &, const EventContext &) const override |
| virtual StatusCode | convert (const std::vector< uint32_t > &, const EventContext &) const override |
Tool to do decoding of RPC RAW data.
This tool should be safe to use with athenaMT. It will not work with the legacy run-2 trigger code, since the tool creates a new container each time.
The main work of decoding is done in the RPC_RawDataProviderToolCore class.
Definition at line 25 of file RPC_RawDataProviderToolMT.h.
◆ RPC_RawDataProviderToolMT()
| Muon::RPC_RawDataProviderToolMT::RPC_RawDataProviderToolMT |
( |
const std::string & | t, |
|
|
const std::string & | n, |
|
|
const IInterface * | p ) |
◆ ~RPC_RawDataProviderToolMT()
| virtual Muon::RPC_RawDataProviderToolMT::~RPC_RawDataProviderToolMT |
( |
| ) |
|
|
virtualdefault |
◆ convert() [1/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
| ) |
const |
|
overridevirtual |
◆ convert() [2/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const EventContext & | ctx | ) |
const |
|
overridevirtual |
Definition at line 40 of file RPC_RawDataProviderToolMT.cxx.
40 {
41 SG::ReadCondHandle<RpcCablingCondData> readHandle{m_readKey, ctx};
42 const RpcCablingCondData* readCdo{*readHandle};
43
45 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
47 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
48
50}
const std::vector< uint32_t > & giveFullListOfRobIds() const
◆ convert() [3/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const ROBFragmentList & | vecRobs, |
|
|
const EventContext & | ctx ) const |
|
overridevirtual |
◆ convert() [4/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const ROBFragmentList & | vecRobs, |
|
|
const std::vector< IdentifierHash > & | collections, |
|
|
const EventContext & | ctx ) const |
|
overridevirtual |
Definition at line 98 of file RPC_RawDataProviderToolMT.cxx.
99 {
100
101
102 SG::WriteHandle<RpcPadContainer> rdoContainerHandle(m_containerKey, ctx);
103 SG::WriteHandle<RpcSectorLogicContainer> logicHandle(m_sec, ctx);
104
105
106
107
109 if (!externalCacheRDO) {
110 ATH_CHECK(rdoContainerHandle.record(std::make_unique<RpcPadContainer>(
m_idHelperSvc->rpcIdHelper().module_hash_max())));
112 } else {
115 ATH_CHECK(rdoContainerHandle.record(std::make_unique<RpcPadContainer>(
update.ptr())));
117 }
119
120 RpcSectorLogicContainer* logic = nullptr;
123 ATH_CHECK(logicHandle.record(std::make_unique<RpcSectorLogicContainer>()));
124 logic = logicHandle.ptr();
125 }
126
127
128 ATH_CHECK(convertIntoContainers(vecRobs, collections, pad, logic,
true));
129
130 return StatusCode::SUCCESS;
131}
#define ATH_CHECK
Evaluate an expression and check for errors.
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current RpcPadContainer
◆ convert() [5/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const ROBFragmentList & | vecRobs | ) |
const |
|
overridevirtual |
◆ convert() [6/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const ROBFragmentList & | vecRobs, |
|
|
const std::vector< IdentifierHash > & | coll ) const |
|
overridevirtual |
◆ convert() [7/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const std::vector< IdentifierHash > & | rdoIdhVect | ) |
const |
|
overridevirtual |
◆ convert() [8/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const std::vector< IdentifierHash > & | rdoIdhVect, |
|
|
const EventContext & | ctx ) const |
|
overridevirtual |
Definition at line 82 of file RPC_RawDataProviderToolMT.cxx.
82 {
83 SG::ReadCondHandle<RpcCablingCondData> readHandle{m_readKey, ctx};
84 const RpcCablingCondData* readCdo{*readHandle};
85
86 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
87 std::vector<uint32_t> robIds;
89 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
90
91 return convert(vecOfRobf, rdoIdhVect, ctx);
92}
#define CHECK(...)
Evaluate an expression and check for errors.
StatusCode giveROB_fromRDO(const IdentifierHash rdoHashId, uint32_t &robId) const
◆ convert() [9/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const std::vector< uint32_t > & | robIds | ) |
const |
|
overridevirtual |
◆ convert() [10/10]
| StatusCode Muon::RPC_RawDataProviderToolMT::convert |
( |
const std::vector< uint32_t > & | robIds, |
|
|
const EventContext & | ctx ) const |
|
overridevirtual |
Definition at line 68 of file RPC_RawDataProviderToolMT.cxx.
68 {
69
70 std::vector<IdentifierHash> collections;
71 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
72 m_robDataProvider->getROBData(ctx, robIds, vecOfRobf);
73
74 return convert(vecOfRobf, collections, ctx);
75}
◆ initialize()
| StatusCode Muon::RPC_RawDataProviderToolMT::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 17 of file RPC_RawDataProviderToolMT.cxx.
17 {
19
22
23
26 "Cannot write out RpcSectorLogic while running with cached RpcPad containers"
27 " as the RpcSectorLogic is not cached at the same time and the written containers will desync."
28 " Please turn off RpcSectorLogic writing when running with cached bytestream container");
29 return StatusCode::FAILURE;
30 }
31
33
34 return StatusCode::SUCCESS;
35}
◆ m_idHelperSvc
◆ m_rdoContainerCacheKey
Initial value:{this,"RpcContainerCacheKey",
"", "Optional external cache for the RPC container"}
RPC container cache key.
Definition at line 49 of file RPC_RawDataProviderToolMT.h.
49 {this,"RpcContainerCacheKey",
50 "", "Optional external cache for the RPC container"};
◆ m_WriteOutRpcSectorLogic
| Gaudi::Property<bool> Muon::RPC_RawDataProviderToolMT::m_WriteOutRpcSectorLogic {this, "WriteOutRpcSectorLogic", true, "Turn on/off RpcSectorLogic writing"} |
|
private |
Turn on/off RpcSectorConfig writing.
Definition at line 52 of file RPC_RawDataProviderToolMT.h.
52{this, "WriteOutRpcSectorLogic", true, "Turn on/off RpcSectorLogic writing"};
The documentation for this class was generated from the following files: