fNPads=0;
// Int_t gw=0;
for(Int_t i=1;i<cntGlob;i++) {
- GetWord(1);
+ if(!GetWord(1)) return kFALSE;
if (((fWord >> kbit27) & 1)) continue;
UInt_t statusControlRow = 0x32a8;
UInt_t rowControlWord = fWord >> kbit0 & 0xfbff;
UInt_t pad = (fWord >> kbit12) & 0x3f; //pad info in raw word is between bits: 12...17
if(!CheckPad(pad)) continue;
Int_t charge = fWord & 0xfff;
+ if(GetPad(fDDLNumber,row,dilogic,pad)<0) continue;
fPad[fNPads] = GetPad(fDDLNumber,row,dilogic,pad);
fCharge[fNPads] = charge;
fNPads++;
// independent.
fWord = 0;
- if (!fData || fPosition < 0) AliFatal("Raw data payload buffer is not yet initialized !");
+ if (fPosition < 0) {
+ AliError("fPosition < 0 !!! Event skipped.");
+ fRawReader->AddMajorErrorLog(kRawDataSizeErr,"fPosition<0");
+ return kFALSE;
+ }
if(dir==kBwd) n = -n;
fPosition+=4*n-4;
if(fPosition==-4) return kTRUE;
if(fPosition<0 || fPosition > fRawReader->GetDataSize()) {
- AliDebug(1,Form("fPosition out of boundaries %i",fPosition));
+ AliWarning(Form("fPosition out of boundaries %i",fPosition));
return kFALSE;
}