fWord=0;
fZeroSup=0;
fTurbo=0;
- for(Int_t i=0;i<kSumErr;i++) delete [] fNumOfErr[i];
+ for(Int_t i=0;i<kNDDL;i++) delete [] fNumOfErr[i];
delete [] fNumOfErr;
- if(fnDDLInStream) { delete [] fnDDLInStream; fnDDLInStream = 0x0; }
+ delete [] fnDDLInStream;
+ delete [] fnDDLOutStream;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AliHMPIDRawStream::Reset()
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;
*/
fPosition = 0;
- Bool_t status=kTRUE;
+ Bool_t status=kFALSE;
Int_t rawDataSize=0;
+ fDDLNumber = fRawReader->GetDDLID();
if(fRawReader->GetType() == 7 || fRawReader->GetType() == 8 ) { //New: Select Physics events, Old: Raw data size is not 0 and not 47148 (pedestal)
- fDDLNumber = fRawReader->GetDDLID();
fnDDLInStream[fDDLNumber]=1; fnDDLOutStream[fDDLNumber]=0;
fLDCNumber = fRawReader->GetLDCId();
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++;
// fRawReader->AddMajorErrorLog(kEoEDILOGICErr,Form("eoe dil %d != %d",da,dilogic));
// AliDebug(1,Form("Wrong DILOGIC address found in end-of-event: %d, expected %d!",da,dilogic));
// fNumOfErr[kEoEDILOGICErr]++;
-// return kFALSE; AliQAChecker::Instance()->Run(AliQA::kHMPID, task, obj) ;
+// return kFALSE; AliQAChecker::Instance()->Run(AliQAv1::kHMPID, task, obj) ;
// }
// UInt_t ca = (eOfEvent >> 22) & 0x1f;
// 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;
}