45 return StatusCode::FAILURE;
59 std::ostringstream attrStr1;
60 coral::AttributeList::const_iterator itr = attrList.begin();
61 itr->toOutputStream(attrStr1);
62 std::string::size_type
pos = attrStr1.str().find(
':');
63 if (
pos == std::string::npos)
67 std::string Line = attrStr1.str().substr(
pos);
75 ATH_MSG_WARNING(
" Cannot find /LAR/IdentifierOfl/HVLineToElectrodeMap from database, Use ASCII file indeed !!!");
77 if (tablename.empty()) {
78 ATH_MSG_FATAL(
"[fillHVMap] Could not locate HVLineToElectrode.data file as well");
82 ATH_MSG_DEBUG(
"[fillHVMap] have located HVLineToElectrode.data OK !");
84 const char * tablefile = tablename.c_str() ;
85 std::ifstream myfile(tablefile);
87 std::filebuf* pbuf = myfile.rdbuf();
89 pbuf->pubseekpos (0,std::ios::in);
110 electrodeMap.clear();
112 std::istringstream
infile;
147 <<
dummy <<
") hvline=["
148 << hvpartition <<
"."
151 <<
hvline <<
"] electrode=["
162 std::vector<HWIdentifier> electrodeIdvec;
168 if (
min > 1000)
min = 1000;
169 for(
int ielec=
min; ielec<
max+1; ielec++){
171 << detect <<
" side="
176 << hvgap <<
" ielec="
180 electrodeIdvec.push_back(electrodeId);
183 hvlineMap.emplace (electrodeId, hvlineId);
188 electrodeIdvec.push_back(electrodeId);
191 hvlineMap.emplace (electrodeId, hvlineId);
194 std::vector<HWIdentifier>&
l = electrodeMap[hvlineId];
195 l.insert (
l.end(), electrodeIdvec.begin(), electrodeIdvec.end());
199 ATH_MSG_DEBUG(
"[fillHV] Mapping electrode-to-hvline : number of Ids= "<<hvlineMap.size());
200 ATH_MSG_DEBUG(
"[fillHV] Mapping hvline-to-electrode : number of Ids= "<<electrodeMap.size());
202 return StatusCode::SUCCESS;