21 declareInterface<IPixelRawDataProviderTool>(
this);
31 return StatusCode::SUCCESS;
36 if (vecRobs.size()==0) {
return StatusCode::SUCCESS; }
38 std::vector<const ROBFragment*>::const_iterator rob_it = vecRobs.begin();
41 ATH_MSG_DEBUG(
" New ROD collection found: LVL1=" << (*rob_it)->rod_lvl1_id() <<
" Size=" << vecRobs.size());
44 std::cout <<
" New ROD collection found: LVL1=" << (*rob_it)->rod_lvl1_id() <<
" Size=" << vecRobs.size() << std::endl;
53 ATH_CHECK(LVL1Collection.
record(std::make_unique<InDetTimeCollection>()));
54 ATH_MSG_DEBUG(
"InDetTimeCollection " << LVL1Collection.
name() <<
" registered in StoreGate");
55 LVL1Collection->reserve(vecRobs.size());
58 ATH_CHECK(BCIDCollection.
record(std::make_unique<InDetTimeCollection>()));
59 ATH_MSG_DEBUG(
"InDetTimeCollection " << BCIDCollection.
name() <<
" registered in StoreGate");
60 BCIDCollection->reserve(vecRobs.size());
68 for (; rob_it!=vecRobs.end(); ++rob_it) {
69 uint32_t robid = (*rob_it)->rob_source_id();
75 unsigned int lvl1id = (*rob_it)->rod_lvl1_id();
76 LVL1Collection->emplace_back(robid,lvl1id) ;
78 unsigned int bcid = (*rob_it)->rod_bc_id();
79 BCIDCollection->emplace_back(robid,bcid);
82 ATH_MSG_DEBUG(
"Stored LVL1ID "<<lvl1id<<
" and BCID "<<bcid<<
" in InDetTimeCollections");
89 StatusCode
sc =
m_decoder->fillCollection(&**rob_it, rdoIdc, decodingErrors,
nullptr,ctx);
91 const int issuesMessageCountLimit = 100;
92 if (
sc==StatusCode::FAILURE) {
98 ATH_MSG_INFO(
"Too many Problems with Pixel Decoding messages. Turning message off.");
103 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
EventContainers::IIdentifiableCont< InDetRawDataCollection< PixelRDORawData > > IPixelRDO_Container
Handle class for recording to StoreGate.
IDC like storage for BS errors, TODO, customise implementation further so that we store int rather th...
static constexpr size_t ERROR_CONTAINER_MAX
const std::string & name() const
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
eformat::ROBFragment< PointerType > ROBFragment
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())