14 uint32_t wordEventOffset,
15 uint32_t expectedTowerID)
18 expectedTowerID_(expectedTowerID) {
22 errors_[
"FE::BLOCK LENGTH"] = 0;
38 uint32_t numbOfXtalBlocks = 0;
41 numbOfXtalBlocks = (length - 1) / numbDWInXtalBlock;
43 uint32_t xtalBlockSize = numbDWInXtalBlock * 8;
52 if (!zs && numbOfXtalBlocks != 25) {
53 (
errors_[
"FE::BLOCK LENGTH"])++;
54 errorString_ +=
"\n ======================================================================\n";
61 errorString_ +=
"\n ======================================================================";
64 if (numbOfXtalBlocks > 25) {
65 if (
errors_[
"FE::BLOCK LENGTH"] == 0)
66 (
errors_[
"FE::BLOCK LENGTH"])++;
67 errorString_ +=
"\n ======================================================================\n";
72 errorString_ +=
"\n Action -> data after the xtal 25 is ignored... ";
73 errorString_ +=
"\n ======================================================================";
81 uint32_t stripID, xtalID;
83 for (uint32_t numbXtal = 1; numbXtal <= numbOfXtalBlocks && numbXtal <= 25; numbXtal++) {
86 stripID = (numbXtal - 1) / 5 + 1;
87 xtalID = numbXtal - (stripID - 1) * 5;
109 std::vector<DCCTBXtalBlock *>::iterator it;
119 std::pair<bool, std::string>
res;
130 checkErrors +=
res.second;
137 checkErrors +=
res.second;
142 if (!checkErrors.empty()) {
145 errorString_ +=
"\n ======================================================================\n";
149 errorString_ +=
"\n ======================================================================";
155 std::vector<DCCTBXtalBlock *> myVector;
156 std::vector<DCCTBXtalBlock *>::iterator it;
160 std::pair<bool, std::string> stripIdCheck = (*it)->checkDataField(
"STRIP ID", stripId);
161 std::pair<bool, std::string> xtalIdCheck = (*it)->checkDataField(
"XTAL ID", xtalId);
163 if (xtalIdCheck.first && stripIdCheck.first) {
164 myVector.push_back((*it));
177 for (std::set<DCCTBDataField *, DCCTBDataFieldComparator>::iterator it =
mapperFields_->begin();
180 if ((*it)->name() ==
"TT/SC ID")