Resolving all symbols in the library
[u/mrichter/AliRoot.git] / EVGEN / AliGenReader.h
index b5f7ba4..8551dd1 100644 (file)
@@ -5,9 +5,15 @@
 
 /* $Id$ */
 
+// Interface for reading events from files.
+// Realisations of this interface have to be used with AliGenExFile.
+// Author: andreas.morsch@cern.ch
+
 #include "TObject.h"
+#include "AliGenEventHeader.h"
 
 class TParticle;
+class AliRunLoader;
 
 class AliGenReader : public TObject
 {
@@ -16,22 +22,22 @@ class AliGenReader : public TObject
     AliGenReader(const AliGenReader &reader)
        :TObject(reader), fFileName(NULL), fCode(kPDG){reader.Copy(*this);}
     virtual ~AliGenReader(){;}
-    // Initialise 
-    virtual void Init() {}
-    // set file name of data file
     virtual void SetFileName(const Text_t *filname) {fFileName=filname;}
-    // Read
-    virtual Int_t NextEvent(){return 0;}
-    enum Code_t {kPDG, kGEANT3};
+    virtual AliRunLoader * GetRunLoader() const {return 0x0;}
+    virtual AliGenEventHeader * GetGenEventHeader() const {return 0x0;}
+    virtual void Init()                                                    = 0;
+    virtual Int_t NextEvent()                                              = 0;
+    virtual TParticle* NextParticle()                                      = 0;
+    virtual void RewindEvent()                                             = 0;
+    typedef enum {kPDG, kGEANT3} Code_t;
     void SetParticleCode(Code_t code) {fCode = code;}
-    virtual TParticle* NextParticle(){return NULL;}
-    virtual void RewindEvent();
     AliGenReader & operator=(const AliGenReader & rhs);
- private:
-    void Copy(AliGenReader&) const;
+
  protected:
     const Text_t *fFileName;      // Name of file to read from
     Code_t        fCode;          // Particle code type
+ private:
+    void Copy(TObject&) const;
     
     ClassDef(AliGenReader,1) //Generate particles from external file
 };