Class moved to STEERBase.
[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 // Authors: jgcn@mda.cinvestav.mx
10 //          Magali Estienne <magali.estienne@IReS.in2p3.fr>  
11
12 #include <TObject.h>
13 #include <TChain.h>
14 #include <TArrayI.h>
15 #ifndef ROOT_TTask
16 #include "TTask.h"
17 #endif
18
19 class TTree;
20 class TTask;
21 class TClonesArray;
22 class TRefArray;
23 class AliJetReaderHeader;
24 class AliJetUnitArray;
25 class AliJetHadronCorrectionv1;
26 class AliJet;
27
28 class AliJetReader : public TObject 
29 {
30  public: 
31   AliJetReader();
32   virtual ~AliJetReader();
33
34   // Getters
35   virtual TClonesArray*        GetMomentumArray()   const {return fMomentumArray;}
36   virtual TRefArray*           GetReferences()      const {return 0;}   
37   virtual AliJetUnitArray*     GetUnitArray()       const {return fUnitArray;}  
38   virtual AliJetUnitArray*     GetUnitArrayNoCuts() const {return fUnitArrayNoCuts;}
39   
40   virtual AliJetReaderHeader*  GetReaderHeader()    const {return fReaderHeader;}
41   virtual Int_t GetSignalFlag(Int_t i)              const {return fSignalFlag[i];}
42   virtual Int_t GetCutFlag(Int_t i)                 const {return fCutFlag[i];}
43   virtual Int_t GetArrayInitialised()               const {return fArrayInitialised;}
44   
45   // Setters
46   virtual void   SetEvent(TObject */*ev*/) {}
47   virtual Bool_t FillMomentumArray(Int_t) {return kTRUE;}
48   virtual void   FillUnitArrayFromTPCTracks(Int_t) {}     // temporarily not used
49   virtual void   FillUnitArrayFromEMCALHits() {}          // temporarily not used
50   virtual void   FillUnitArrayFromEMCALDigits(Int_t) {}   // temporarily not used
51   virtual void   FillUnitArrayFromEMCALClusters(Int_t) {} // temporarily not used
52   virtual void   InitUnitArray() {}
53   virtual void   SetReaderHeader(AliJetReaderHeader* header) 
54       {fReaderHeader = header;}
55           
56   // Others
57   virtual void   OpenInputFiles() {}
58   virtual void   ConnectTree(TTree* /*tree*/, TObject* /*data*/) {}
59   virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;}
60   
61   void ClearArray();
62  
63  protected:
64   AliJetReader(const AliJetReader& rJetReader);
65   AliJetReader& operator = (const AliJetReader& rhsr);
66   TClonesArray            *fMomentumArray;    // array of particle momenta
67   TClonesArray            *fArrayMC;          //! array of mc particles
68   TTask                   *fFillUnitArray;    //! task list for filling the UnitArray
69   AliJetReaderHeader      *fReaderHeader;     // pointer to header
70   TArrayI                  fSignalFlag;       // to flag if a particle comes from pythia or
71                                               // from the underlying event
72   TArrayI                  fCutFlag;          // to flag if a particle passed the pt cut or not
73   AliJetUnitArray         *fUnitArray;        //! array of digit position and energy 
74   AliJetUnitArray         *fUnitArrayNoCuts;  //! array of digit position and energy 
75   Bool_t                   fArrayInitialised; // To check that array of units is initialised  
76   ClassDef(AliJetReader,1)
77 };
78  
79 #endif