functionality of raw readers extended to read more than one event
[u/mrichter/AliRoot.git] / RAW / AliRawReaderRoot.h
index 35d8b250a6ddfe89c2b17bcbae2d338471705323..e300eb0d53ce3bb1f1e3e97cc8f3efc08be04fc9 100644 (file)
 class AliRawEvent;
 class AliRawData;
 class TFile;
+class TBranch;
 
 
 class AliRawReaderRoot: public AliRawReader {
   public :
-    AliRawReaderRoot(const char* fileName, Int_t eventNumber);
+    AliRawReaderRoot(const char* fileName, Int_t eventNumber = -1);
     AliRawReaderRoot(AliRawEvent* event);
     AliRawReaderRoot(const AliRawReaderRoot& rawReader);
     AliRawReaderRoot& operator = (const AliRawReaderRoot& rawReader);
@@ -46,12 +47,17 @@ class AliRawReaderRoot: public AliRawReader {
 
     virtual Bool_t   Reset();
 
+    virtual Bool_t   NextEvent();
+    virtual Bool_t   RewindEvents();
+
     virtual Int_t    CheckData() const;
 
   protected :
     virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
 
     TFile*           fFile;         // raw data root file
+    TBranch*         fBranch;       // branch of raw events
+    Int_t            fEventIndex;   // index of the event in the tree
     AliRawEvent*     fEvent;        // (super) event
     Int_t            fSubEventIndex; // index of current sub event
     AliRawEvent*     fSubEvent;     // current sub event