]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenReader.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / EVGEN / AliGenReader.h
index dbfdbb372c71a9629a9aa40f06b57abb6ee7b7b7..8551dd1664de663433b933d528835fcd8cadf052 100644 (file)
@@ -5,31 +5,39 @@
 
 /* $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
 {
  public:
-    AliGenReader(){;}
-    AliGenReader(const AliGenReader &reader){;}
-    
+    AliGenReader():fFileName(NULL),fCode(kPDG){;}
+    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;}
-    
     AliGenReader & operator=(const AliGenReader & rhs);
+
  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
 };