extended check
[u/mrichter/AliRoot.git] / RAW / AliRawReader.h
index 746753209af3e52e6bd10c79da42303c9179b632..3ba999969d8f1c1a67db03fa9a087c268740d194 100644 (file)
@@ -39,10 +39,15 @@ class AliRawReader: public TObject {
 
     virtual Bool_t   Reset() = 0;
 
+    enum {kErrMagic=1, kErrNoMiniHeader=2, kErrMiniMagic=4, 
+         kErrSize=8, kErrOutOfBounds=16};
+    virtual Int_t    CheckData() const;
+    Int_t            GetErrorCode() {return fErrorCode;};
+
   protected :
     Bool_t           IsSelected() const;
 
-    Bool_t           CheckMiniHeader() const;
+    Bool_t           CheckMiniHeader(AliMiniHeader* miniHeader = NULL) const;
     virtual Bool_t   ReadNext(UChar_t* data, Int_t size) = 0;
 
     AliMiniHeader*   fMiniHeader;  // current mini header
@@ -52,6 +57,8 @@ class AliRawReader: public TObject {
     Int_t            fSelectMinDDLID;    // minimal index of selected DDLs (<0 = no selection)
     Int_t            fSelectMaxDDLID;    // maximal index of selected DDLs (<0 = no selection)
 
+    Int_t            fErrorCode;         // code of last error
+
     ClassDef(AliRawReader, 0) // base class for reading raw digits
 };