7 #include "GaudiKernel/IToolSvc.h"
10 #include "GaudiKernel/ServiceHandle.h"
27 (
const std::string&
type,
const std::string&
name,
const IInterface*
parent )
29 m_decoder (
"TRT_RodDecoder",this)
49 return StatusCode::SUCCESS;
59 const EventContext& ctx)
const
62 static std::atomic_int DecodeErrCount = 0;
65 return StatusCode::SUCCESS;
68 std::unique_ptr<InDetTimeCollection> LVL1Collection;
69 std::unique_ptr<InDetTimeCollection> BCCollection;
70 std::vector<const ROBFragment*>::const_iterator rob_it = vecRobs.begin();
75 LVL1Collection = std::make_unique<InDetTimeCollection>();
76 LVL1Collection->reserve(vecRobs.size());
78 BCCollection = std::make_unique<InDetTimeCollection>();
79 BCCollection->reserve(vecRobs.size());
83 for(; rob_it!=vecRobs.end(); ++rob_it)
86 uint32_t robid = (*rob_it)->rod_source_id();
93 unsigned int lvl1id = (*rob_it)->rod_lvl1_id();
94 LVL1Collection->emplace_back(robid, lvl1id);
96 unsigned int bcid = (*rob_it)->rod_bc_id();
97 BCCollection->emplace_back(robid,
bcid);
100 ATH_MSG_DEBUG(
"Stored LVL1ID " << lvl1id <<
" and BCID " <<
bcid <<
" in InDetTimeCollections" );
104 if (
sc == StatusCode::FAILURE )
106 if (DecodeErrCount < 100) {
109 }
else if (100 == DecodeErrCount) {
111 "Too many Problem with TRT Decoding messages. Turning message "
131 return StatusCode::SUCCESS;