15 const IInterface*
p) :
17 m_robDataProvider(
"ROBDataProviderSvc",
n)
35 m_maxhashtoUse = m_idHelperSvc->tgcIdHelper().module_hash_max();
37 ATH_CHECK(m_rdoContainerKey.initialize());
42 ATH_MSG_INFO(
"TGCCablingServerSvc not yet configured; postpone TGCcabling initialization at first event. " );
45 m_hid2re.fillAllRobIds();
47 return StatusCode::SUCCESS;
56 static thread_local
int DecodeErrCount = 0;
60 if(m_decoder->fillCollection(*fragment, tgcRdoContainer).isFailure()) {
61 if(DecodeErrCount < 100) {
65 else if(100 == DecodeErrCount) {
66 ATH_MSG_INFO(
"Too many Problems with TGC Decoding messages. Turning message off." );
72 return StatusCode::SUCCESS;
83 if (TgcCabGet.retrieve().isFailure()) {
88 m_cabling.set(TgcCabGet.get());
90 return m_cabling.get();
96 std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> vecOfRobf;
99 ATH_MSG_ERROR(
"Could not get cabling, return empty vector of ROB fragments");
103 IdContext tgcContext = m_idHelperSvc->tgcIdHelper().module_context();
105 std::vector<uint32_t> robIds;
107 unsigned int size = rdoIdhVect.size();
108 for(
unsigned int i=0;
i<
size; ++
i) {
110 if(m_idHelperSvc->tgcIdHelper().get_id(rdoIdhVect[
i], Id, &tgcContext)) {
111 ATH_MSG_WARNING(
"Unable to get TGC Identifier from collection hash id " );
116 uint32_t robId = m_hid2re.getRobID(rodId);
118 if(it_robId==robIds.end()) {
119 robIds.push_back(robId);
122 m_robDataProvider->getROBData(robIds, vecOfRobf);