f7b710a4ed5877b05559aefe895a64459c22870e
[u/mrichter/AliRoot.git] / JETAN / AliJetFinder.h
1 #ifndef ALIJETFINDER_H
2 #define ALIJETFINDER_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 //---------------------------------------------------------------------
8 // Jet finder base class
9 // manages the search for jets 
10 // Author: jgcn@mda.cinvestav.mx
11 //---------------------------------------------------------------------
12
13 #include <TObject.h>
14
15 class TFile;
16 class AliJet;
17 class AliJetReader;
18 class AliJetControlPlots;
19 class AliLeading;
20
21 class AliJetFinder : public TObject 
22 {
23  public:
24
25   AliJetFinder();
26   virtual ~AliJetFinder();
27
28   // getters
29   virtual AliJet *GetJets() {return fJets;}
30   virtual Bool_t GetPlotMode() const {return fPlotMode;}
31   virtual TFile* GetOutputFile() {return fOut;}
32   // setters
33   virtual void SetPlotMode(Bool_t b);
34   virtual void SetOutputFile(const char *name="jets.root");
35   virtual void SetJetReader(AliJetReader* r) {fReader=r;}
36
37   // others
38   virtual void PrintJets();
39   virtual void Run();
40   virtual void WriteJetsToFile(Int_t i);
41   virtual void WriteRHeaderToFile();
42   // the following have to be implemented for each specific finder
43   virtual void Init() { }
44   virtual void Reset() { }
45   virtual void FindJets() { }
46   virtual void WriteJHeaderToFile() { }
47   virtual void GetGenJets();
48
49  protected:
50   AliJetFinder(const AliJetFinder& rJetFinder);
51   AliJetFinder& operator = (const AliJetFinder& rhsf);
52
53   Bool_t fPlotMode;              // do you want control plots?
54   AliJet* fJets;                 // pointer to jet class
55   AliJet* fGenJets;              // pointer to generated jets
56   AliLeading* fLeading;          // pointer to leading particle data 
57   AliJetReader* fReader;         // pointer to reader
58   AliJetControlPlots* fPlots;    // pointer to control plots
59   TFile* fOut;                   // output file
60
61   ClassDef(AliJetFinder,1)
62 };
63
64 #endif