]>
Commit | Line | Data |
---|---|---|
e20ef457 | 1 | #ifndef ALIGENREADER_H |
2 | #define ALIGENREADER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
e033748b | 8 | // Interface for reading events from files. |
9 | // Realisations of this interface have to be used with AliGenExFile. | |
10 | // Author: andreas.morsch@cern.ch | |
11 | ||
e20ef457 | 12 | #include "TObject.h" |
7a005d69 | 13 | #include "AliGenEventHeader.h" |
e20ef457 | 14 | |
15 | class TParticle; | |
9ad9d6f5 | 16 | class AliRunLoader; |
e20ef457 | 17 | |
18 | class AliGenReader : public TObject | |
19 | { | |
20 | public: | |
88cb7938 | 21 | AliGenReader():fFileName(NULL),fCode(kPDG){;} |
198bb1c7 | 22 | AliGenReader(const AliGenReader &reader) |
23 | :TObject(reader), fFileName(NULL), fCode(kPDG){reader.Copy(*this);} | |
e20ef457 | 24 | virtual ~AliGenReader(){;} |
e20ef457 | 25 | virtual void SetFileName(const Text_t *filname) {fFileName=filname;} |
9ad9d6f5 | 26 | virtual AliRunLoader * GetRunLoader() const {return 0x0;} |
7a005d69 | 27 | virtual AliGenEventHeader * GetGenEventHeader() const {return 0x0;} |
e033748b | 28 | virtual void Init() = 0; |
29 | virtual Int_t NextEvent() = 0; | |
30 | virtual TParticle* NextParticle() = 0; | |
31 | virtual void RewindEvent() = 0; | |
0af12c00 | 32 | typedef enum {kPDG, kGEANT3} Code_t; |
e20ef457 | 33 | void SetParticleCode(Code_t code) {fCode = code;} |
e20ef457 | 34 | AliGenReader & operator=(const AliGenReader & rhs); |
e033748b | 35 | |
e20ef457 | 36 | protected: |
37 | const Text_t *fFileName; // Name of file to read from | |
38 | Code_t fCode; // Particle code type | |
e033748b | 39 | private: |
dc1d768c | 40 | void Copy(TObject&) const; |
e20ef457 | 41 | |
42 | ClassDef(AliGenReader,1) //Generate particles from external file | |
43 | }; | |
44 | #endif | |
45 | ||
46 | ||
47 | ||
48 | ||
49 | ||
50 |