5 using std::cerr;
using std::cout;
using std::endl;
12 cerr <<
"TWFDBankReader: Error! Do not use default constructor." << endl;
19 : fDBC(dbc), fPersonality(personality), fBankName(bankname),
20 fBankPtr(NULL), fEventPtr(NULL), fSize(0), fNRequestedWords(0),
21 fNReceivedWords(0), fStatus(0), fIsOK(true), fNBlocks(0)
51 cerr <<
"TWFDBankReader::ProcessEvent() Error! WFD personalities other"
52 <<
" than 2 (MuCap mode) have not been implemented. Skipping bank:\n"
60 cerr <<
"TWFDBankReader::ProcessEvent() Error! Bank not found:"
69 cerr <<
"TWFDBankReader::ProcessEvent() Error? Bank size < 3 words"
72 fIsOK =
false;
return;
93 cerr <<
"TWFDBankReader::ProcessEvent() Error? WFD Requested words = 0"
97 fIsOK =
false;
return false;
100 cerr <<
"TWFDBankReader::ProcessEvent() Error? WFD Requested words "
103 <<
"\tSkipping bank."
105 fIsOK =
false;
return false;
108 cerr <<
"TWFDBankReader::ProcessEvent() Error! WFD Requested words != "
109 <<
"WFD received words for bank: " <<
fBankName <<
"\n"
112 <<
"\tSkipping bank."
114 fIsOK =
false;
return false;
119 cerr <<
"TWFDBankReader::ProcessEvent() Error! Bank size ("
120 <<
fSize-4 <<
") is not a multiple "
123 <<
"\tSkipping bank."
125 fIsOK=
false;
return false;
147 conttime =
fData.empty() ? -1 :
fData.back().fTime+
fData.back().fADC.size();
149 if(nBlocksRead==0 || blocktime > conttime) {
152 }
else if( blocktime < conttime ){
153 cerr <<
"TWFDBankReader::ReadIslandsLoop() Error! Block has time: "
154 << blocktime <<
" which is less than " <<
fData.back().fADC.size()
155 <<
" clock ticks after the last block at "
156 <<
fData.back().fTime <<
"\n"
159 fIsOK=
false;
return false;
163 std::vector<UChar_t>& rVec =
fData.back().fADC;
165 UChar_t*
adc = (UChar_t*)&pDataPtr[blockoffset];
175 rVec.push_back( adc[ (3-iadc%4) + 4*(iadc/4) ] );