32 const char*
params = configBuf.data();
33 mParams = std::string(
params);
44 for (
int iChip = 0; iChip < 936; ++iChip) {
51void DCSConfigReader::parseConfig()
55 char delimiter_newline =
'\n';
58 std::stringstream
stream(mParams);
67 std::string verName =
"";
68 std::vector<int> arrRUAdd;
69 std::vector<int> arrRUVal;
70 std::vector<int> arrALPIDEAdd;
71 std::vector<int> arrALPIDEVal;
72 std::vector<std::string> arrUBBName;
73 std::vector<double> arrUBBVal;
74 std::vector<int> arrDeadChip;
76 while (std::getline(
stream,
row, delimiter_newline)) {
78 std::stringstream srow(
row);
81 while (std::getline(srow,
col, delimiter)) {
83 col.erase(std::remove(
col.begin(),
col.end(),
' '),
col.end());
84 int val = atoi(
col.c_str());
87 verName =
col.c_str();
89 arrRUAdd.emplace_back(atoi(
col.c_str()));
92 arrRUVal.emplace_back(atoi(
col.c_str()));
94 arrALPIDEAdd.emplace_back(atoi(
col.c_str()));
97 arrALPIDEVal.emplace_back(atoi(
col.c_str()));
100 arrUBBName.emplace_back(
col.c_str());
103 arrUBBVal.emplace_back(atof(
col.c_str()));
105 arrDeadChip.emplace_back(atoi(
col.c_str()));
108 LOG(warning) <<
"Not expected parameters are sent from DCS!!!!";
114 LOG(info) <<
"Configuration version / type: " << verName;
115 LOG(info) <<
"Found " << nru <<
" RU parameters";
117 for (
int iRUconf = 0; iRUconf < nru; ++iRUconf) {
119 LOG(info) <<
"(" << arrRUAdd[iRUconf] <<
") "
120 << mDCSUtils->
getName(arrRUAdd[iRUconf],
"RU")
121 <<
" : " << arrRUVal[iRUconf];
125 conf.
setData(arrRUVal[iRUconf]);
126 conf.
setAdd(arrRUAdd[iRUconf]);
129 mDCSConfig.emplace_back(conf);
130 if (arrRUAdd[iRUconf] == 4097) {
131 const std::string&
key =
"MFTAlpideParam.roFrameLengthInBC";
132 const std::string& keyval = Form(
"%d", arrRUVal[iRUconf]);
133 mAlpideInfo.setValue(
key, keyval);
138 LOG(info) <<
"Found " << nalpide <<
" ALPIDE parameters";
140 for (
int iALPIDEconf = 0; iALPIDEconf < nalpide; ++iALPIDEconf) {
142 LOG(info) <<
"(" << arrALPIDEAdd[iALPIDEconf] <<
") "
143 << mDCSUtils->
getName(arrALPIDEAdd[iALPIDEconf],
"ALPIDE")
144 <<
" : " << arrALPIDEVal[iALPIDEconf];
148 conf.
setData(arrALPIDEVal[iALPIDEconf]);
149 conf.
setAdd(arrALPIDEAdd[iALPIDEconf]);
152 mDCSConfig.emplace_back(conf);
156 LOG(info) <<
"Found " << nubb <<
" UBB parameters";
158 for (
int iUBBconf = 0; iUBBconf < nubb; ++iUBBconf) {
160 LOG(info) <<
"(" << mDCSUtils->
getAddress(arrUBBName[iUBBconf],
"UBB") <<
") "
161 << arrUBBName[iUBBconf]
162 <<
" : " << arrUBBVal[iUBBconf];
166 conf.
setData(arrUBBVal[iUBBconf]);
170 mDCSConfig.emplace_back(conf);
174 LOG(info) <<
"Found " << ndeadmap <<
" Dead chips";
176 for (
int iDeadMap = 0; iDeadMap < ndeadmap; ++iDeadMap) {
178 LOG(info) <<
"Chip" << arrDeadChip[iDeadMap] <<
" is dead.";
183 conf.
setAdd(arrDeadChip[iDeadMap]);
186 mDCSConfig.emplace_back(conf);
MFT Processor for DCS Config.
void maskFullChip(int chip, bool cleanNoisyPixels=false)
void setVersion(std::string str)
void loadConfig(gsl::span< const char > configBuf)
int getRUConfigAddressLineInCsv()
int getUBBConfigNameLineInCsv()
int getAddress(std::string name, std::string type)
int getUBBConfigValueLineInCsv()
int getALPIDEConfigValueLineInCsv()
std::string getName(int add, std::string type)
int getALPIDEConfigAddressLineInCsv()
int getDeadMapLineInCsv()
int getRUConfigValueLineInCsv()
int getVersionNameLineInCsv()
GLenum const GLfloat * params
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"