]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Bug fix (F. Prino)
authorprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Oct 2008 19:36:47 +0000 (19:36 +0000)
committerprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 6 Oct 2008 19:36:47 +0000 (19:36 +0000)
ITS/AliITSRawStreamSDD.cxx
ITS/AliITSRawStreamSDD.h

index 75f2e8136bade331cc11a95a916611a7762be626..9815b5067ff31aa78b0e18d3979761862d25c7e5 100644 (file)
@@ -34,6 +34,7 @@ AliITSRawStreamSDD::AliITSRawStreamSDD(AliRawReader* rawReader) :
   AliITSRawStream(rawReader),
 fDDLModuleMap(0),
 fData(0),
+fResetSkip(kTRUE),
 fEventId(0),
 fCarlosId(-1),
 fChannel(0),
@@ -61,6 +62,7 @@ AliITSRawStreamSDD::AliITSRawStreamSDD(const AliITSRawStreamSDD& rs) :
 AliITSRawStream(rs.fRawReader),
 fDDLModuleMap(rs.fDDLModuleMap),
 fData(0),
+fResetSkip(kTRUE),
 fEventId(0),
 fCarlosId(-1),
 fChannel(0),
@@ -122,15 +124,18 @@ Bool_t AliITSRawStreamSDD::Next()
   fCompletedModule=kFALSE;
 
   while (kTRUE) {
-  
+    if(fResetSkip){
+      Reset();
+      Bool_t kSkip = SkipHeaderWord();
+      if(!kSkip) return kSkip; 
+      fResetSkip=kFALSE;
+    }
     if ((fChannel < 0) || (fCarlosId < 0) || (fChannel >= 2) || (fCarlosId >= kModulesPerDDL) || (fLastBit[fCarlosId][fChannel] < fReadBits[fCarlosId][fChannel]) ) {
       if (!fRawReader->ReadNextInt(fData)) return kFALSE;  // read next word
 
 
       if((fData >> 16) == 0x7F00){ // jitter word
-       Reset();
-       Bool_t kSkip = SkipHeaderWord();
-       if(!kSkip) return kSkip;        
+       fResetSkip=kTRUE;
        continue;
       }
 
index d0ca61e641f62411c6143bcfcaff361274541564..024525923bb214b7db94dda0eefdb782f996e1ac 100644 (file)
@@ -69,6 +69,7 @@ class AliITSRawStreamSDD: public AliITSRawStream {
 
     AliITSDDLModuleMapSDD* fDDLModuleMap; // mapping DDL/module -> module number 
     UInt_t           fData;         // data read for file
+    Bool_t           fResetSkip;    // flag for end of DDL data
     Int_t            fSkip[kDDLsNumber];// obsolete -- needed to compile AliITSRawStreamSDDv2
     Int_t            fEventId;      // event ID from header
     Int_t            fCarlosId;     // carlos ID
@@ -90,7 +91,7 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     Int_t            fEightBitSignal;    // signal at 8 bit
     Bool_t           fDecompressAmbra; //flag to switch off decompression
 
-    ClassDef(AliITSRawStreamSDD, 13) // class for reading ITS SDD raw digits
+    ClassDef(AliITSRawStreamSDD, 14) // class for reading ITS SDD raw digits
 };
 
 #endif