fCarlosId(-1),
fChannel(0),
fJitter(0),
-fResetSkip(0),
fEightBitSignal(0),
fDecompressAmbra(kTRUE)
{
fCarlosId(-1),
fChannel(0),
fJitter(0),
-fResetSkip(0),
fEightBitSignal(0),
fDecompressAmbra(kTRUE)
{
fCompletedModule=kFALSE;
while (kTRUE) {
- if(fResetSkip==0){
- Bool_t kSkip = SkipHeaderWord();
- fResetSkip=1;
- if(!kSkip) return kSkip;
- }
if ((fChannel < 0) || (fCarlosId < 0) || (fChannel >= 2) || (fCarlosId >= kModulesPerDDL) || (fLastBit[fCarlosId][fChannel] < fReadBits[fCarlosId][fChannel]) ) {
if (!fRawReader->ReadNextInt(fData)) return kFALSE; // read next word
- fChannel = -1;
if((fData >> 16) == 0x7F00){ // jitter word
- fResetSkip=0;
Reset();
+ Bool_t kSkip = SkipHeaderWord();
+ if(!kSkip) return kSkip;
continue;
}
// JTAG word -- do nothing
} else { // unknown data format
fRawReader->AddMajorErrorLog(kDataFormatErr,Form("Invalid data %8.8x",fData));
- AliWarning(Form("Invalid data: %8.8x\n", fData));
+ AliWarning(Form("Invalid data: %08X\n", fData));
return kFALSE;
}
if(fCarlosId>=0 && fCarlosId <kModulesPerDDL){
Int_t nDDL=fRawReader->GetDDLID();
- fModuleID = GetModuleNumber(nDDL,fCarlosId);
+ fModuleID = GetModuleNumber(nDDL,fCarlosId);
}
} else { // decode data
if (fReadCode[fCarlosId][fChannel]) {// read the next code word
fReadBits[ic][i]=3;
fTimeBin[ic][i]=0;
fAnode[ic][i]=0;
+ fICountFoot[ic]=0;
}
}
- for(Int_t i=0;i<kModulesPerDDL;i++) fICountFoot[i]=0;
}
//______________________________________________________________________
UInt_t fICarlosWord[kCarlosWords]; // Carlos words
UInt_t fIFifoWord[kFifoWords]; // FIFO words
Int_t fICountFoot[kModulesPerDDL]; // counter for carlos footer words
- Int_t fResetSkip; //if it is 0, the ResetSkip Funcion is called
Int_t fEightBitSignal; // signal at 8 bit
Bool_t fDecompressAmbra; //flag to switch off decompression
- ClassDef(AliITSRawStreamSDD, 12) // class for reading ITS SDD raw digits
+ ClassDef(AliITSRawStreamSDD, 13) // class for reading ITS SDD raw digits
};
#endif