46 const uint32_t onlHashMax=
m_onlineID->channelHashMax();
52 return StatusCode::FAILURE;
58 return StatusCode::FAILURE;
61 coral::AttributeListSpecification* spec_onOff =
new coral::AttributeListSpecification();
62 spec_onOff->extend(
"OnlineHashToOfflineId",
"blob");
63 spec_onOff->extend<
unsigned>(
"version");
65 coral::Blob& blobOnOff=(*al_onOff)[
"OnlineHashToOfflineId"].data<coral::Blob>();
66 (*al_onOff)[
"version"].setValue(0U);
67 blobOnOff.resize(onlHashMax*
sizeof(uint32_t));
69 spec_onOff->release();
73 coral::AttributeListSpecification* spec_calib =
new coral::AttributeListSpecification();
74 spec_calib->extend(
"OnlineHashToCalibIds",
"blob");
75 spec_calib->extend<
unsigned>(
"version");
77 coral::Blob& blobCalib=(*al_calib)[
"OnlineHashToCalibIds"].data<coral::Blob>();
78 (*al_calib)[
"version"].setValue(0U);
79 blobCalib.resize(onlHashMax*
sizeof(uint32_t)*3);
81 spec_calib->release();
85 uint32_t* pBlobOnOff=
static_cast<uint32_t*
>(blobOnOff.startingAddress());
86 uint32_t* pBlobCalib=
static_cast<uint32_t*
>(blobCalib.startingAddress());
91 std::vector<unsigned> calibHist(5,0);
93 std::ofstream outfile(
"identifiers.txt");
95 outfile <<
"hash id bec pn FT SL chan id calo pn sampl reg eta phi calib" << std::endl;
97 for (uint32_t onlHash=0;onlHash<onlHashMax;++onlHash) {
100 const Identifier id=cabling->cnvToIdentifierFromHash(onlHash);
101 pBlobOnOff[
index++]=
id.get_identifier32().get_compact();
103 const std::vector<HWIdentifier>& calibIDs=clCont->
calibSlotLine(hwid);
104 const size_t nCalibLines=calibIDs.size();
105 (calibHist[nCalibLines])++;
106 pBlobCalib[calibIndex++]=nCalibLines;
107 for(uint32_t iCalib=0;iCalib<nCalibLines;++iCalib)
108 pBlobCalib[calibIndex++]=calibIDs[iCalib].get_identifier32().get_compact();
111 blobCalib.resize(calibIndex*
sizeof(uint32_t));
118 msg(MSG::INFO) <<
"nCalib[i] ";
119 for (
unsigned j=0;j<5;++j)
120 msg() << calibHist[j] <<
"/";
127 return StatusCode::SUCCESS;
151 if (cabling->isOnlineConnected(hwid)) {
152 const Identifier id=cabling->cnvToIdentifier(hwid);
153 out << std::hex <<
"0x" <<
id.get_identifier32().get_compact() << std::dec <<
" "
162 out <<
" disconnected ";
164 const std::vector<HWIdentifier>& calibIDs=clCont->
calibSlotLine(hwid);
165 for (
size_t i=0;i<calibIDs.size();++i) {
166 out << std::hex <<
"0x" << calibIDs[i].get_identifier32().get_compact() <<
" ";
168 out << std::dec << std::endl;