Method ReadNext moved to public (C.Cheshkov)
[u/mrichter/AliRoot.git] / RAW / AliRawReaderFile.h
index 16fec380cd6e32402488929105e30a6d423f27b3..33ebbc1ac094d74458cf19c850ae484dc592d37e 100644 (file)
@@ -3,6 +3,14 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
+///////////////////////////////////////////////////////////////////////////////
+///
+/// This is a class for reading raw data files.
+///
+///////////////////////////////////////////////////////////////////////////////
+
 #include "AliRawReader.h"
 #ifdef __CINT__
 class fstream;
@@ -14,8 +22,8 @@ class fstream;
 
 class AliRawReaderFile: public AliRawReader {
   public :
-    AliRawReaderFile(Int_t eventNumber);
-    AliRawReaderFile(const char* dirName);
+    AliRawReaderFile(Int_t eventNumber = -1);
+    AliRawReaderFile(const char* dirName, Int_t eventNumber = -1);
     AliRawReaderFile(const AliRawReaderFile& rawReader);
     AliRawReaderFile& operator = (const AliRawReaderFile& rawReader);
     virtual ~AliRawReaderFile();
@@ -26,6 +34,7 @@ class AliRawReaderFile: public AliRawReader {
     virtual const UInt_t* GetTriggerPattern() const {return 0;};
     virtual const UInt_t* GetDetectorPattern() const {return 0;};
     virtual const UInt_t* GetAttributes() const {return 0;};
+    virtual const UInt_t* GetSubEventAttributes() const {return 0;};
     virtual UInt_t   GetLDCId() const {return 0;};
     virtual UInt_t   GetGDCId() const {return 0;};
 
@@ -37,14 +46,19 @@ class AliRawReaderFile: public AliRawReader {
 
     virtual Bool_t   ReadHeader();
     virtual Bool_t   ReadNextData(UChar_t*& data);
+    virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
 
     virtual Bool_t   Reset();
 
+    virtual Bool_t   NextEvent();
+    virtual Bool_t   RewindEvents();
+
   protected :
+    TString          GetDirName() const;
+    void*            OpenDirectory();
     Bool_t           OpenNextFile();
 
-    virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
-
+    Int_t            fEventIndex;  // index of the event
     TString          fDirName;     // name of the input directory
     void*            fDirectory;   // pointer to the input directory
     fstream*         fStream;      // stream of raw digits