69f17473415939c6dbcc7d4cd6210b7380f1eb80
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
1 #ifndef ALIJETREADER_H
2 #define ALIJETREADER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 // Jet reader base class
8 // manages the reading of input for jet algorithms
9 // Author: jgcn@mda.cinvestav.mx
10   
11 #include <TObject.h>
12 #include <TChain.h>
13 #include <TArrayI.h>
14
15 class TClonesArray;
16 class AliJetReaderHeader;
17 class AliESD;
18 class AliHeader;
19
20 class AliJetReader : public TObject 
21 {
22  public: 
23   AliJetReader();
24   virtual ~AliJetReader();
25
26   // Getters
27   virtual TClonesArray *GetMomentumArray() {return fMomentumArray;}
28   virtual Int_t GetChainEntries() {return fChain->GetEntries();} 
29   virtual AliJetReaderHeader* GetReaderHeader() { return fReaderHeader;}
30   virtual AliHeader* GetAliHeader() {return fAliHeader;}
31   virtual Int_t GetSignalFlag(Int_t i) const {return fSignalFlag[i];}
32   virtual Int_t GetCutFlag(Int_t i) const {return fCutFlag[i];}
33
34   // Setters
35   virtual void FillMomentumArray(Int_t) {}
36   virtual void SetReaderHeader(AliJetReaderHeader* header) 
37     {fReaderHeader = header;}
38           
39   // others
40   virtual void OpenInputFiles() {}
41   void ClearArray();
42  
43  protected:
44   AliJetReader(const AliJetReader& rJetReader);
45   AliJetReader& operator = (const AliJetReader& rhsr);
46
47   TChain                  *fChain;         // chain for reconstructed tracks
48   TChain                  *fChainMC;       // chain for mc information
49   TClonesArray            *fMomentumArray; // array of particle momenta
50   TClonesArray            *fArrayMC;       // array of mc particles
51   AliESD                  *fESD;           // pointer to esd
52   AliJetReaderHeader      *fReaderHeader;  // pointer to header
53   AliHeader               *fAliHeader;     // pointer to event header
54   TArrayI fSignalFlag;   // to flag if a particle comes from pythia or 
55                          // from the underlying event
56   TArrayI fCutFlag;      // to flag if a particle passed the pt cut or not
57
58   ClassDef(AliJetReader,1)
59 };
60  
61 #endif