Class moved to STEERBase.
[u/mrichter/AliRoot.git] / JETAN / AliJetReader.h
CommitLineData
99e5fe42 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
99e5fe42 7// Jet reader base class
8// manages the reading of input for jet algorithms
b45b0c92 9// Authors: jgcn@mda.cinvestav.mx
10// Magali Estienne <magali.estienne@IReS.in2p3.fr>
11
99e5fe42 12#include <TObject.h>
13#include <TChain.h>
8011d399 14#include <TArrayI.h>
b45b0c92 15#ifndef ROOT_TTask
16#include "TTask.h"
17#endif
18
7d0f353c 19class TTree;
b45b0c92 20class TTask;
99e5fe42 21class TClonesArray;
c8f39c57 22class TRefArray;
99e5fe42 23class AliJetReaderHeader;
b45b0c92 24class AliJetUnitArray;
7aec0427 25class AliJetHadronCorrectionv1;
7d0f353c 26class AliJet;
99e5fe42 27
99e5fe42 28class AliJetReader : public TObject
29{
30 public:
31 AliJetReader();
32 virtual ~AliJetReader();
33
34 // Getters
c8f39c57 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;}
b45b0c92 39
c8f39c57 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;}
7d0f353c 44
99e5fe42 45 // Setters
c8f39c57 46 virtual void SetEvent(TObject */*ev*/) {}
7d0f353c 47 virtual Bool_t FillMomentumArray(Int_t) {return kTRUE;}
b45b0c92 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() {}
7d0f353c 53 virtual void SetReaderHeader(AliJetReaderHeader* header)
b45b0c92 54 {fReaderHeader = header;}
99e5fe42 55
7d0f353c 56 // Others
57 virtual void OpenInputFiles() {}
f3f3617d 58 virtual void ConnectTree(TTree* /*tree*/, TObject* /*data*/) {}
7d0f353c 59 virtual Bool_t GetGenJets(AliJet* /*genJets*/) {return kFALSE;}
60
99e5fe42 61 void ClearArray();
62
63 protected:
1b7d5d7e 64 AliJetReader(const AliJetReader& rJetReader);
65 AliJetReader& operator = (const AliJetReader& rhsr);
b45b0c92 66 TClonesArray *fMomentumArray; // array of particle momenta
de265230 67 TClonesArray *fArrayMC; //! array of mc particles
68 TTask *fFillUnitArray; //! task list for filling the UnitArray
b45b0c92 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
de265230 73 AliJetUnitArray *fUnitArray; //! array of digit position and energy
74 AliJetUnitArray *fUnitArrayNoCuts; //! array of digit position and energy
b45b0c92 75 Bool_t fArrayInitialised; // To check that array of units is initialised
99e5fe42 76 ClassDef(AliJetReader,1)
77};
78
79#endif