]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Base/AliFlowAnalysis.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Base / AliFlowAnalysis.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /* $Id$ */
5
6 #ifndef ALIFLOWANALYSISBASE_H
7 #define ALIFLOWANALYSISBASE_H
8
9 class AliFlowEventSimple;
10 class AliFlowEventSimpleCuts;
11 class TList;
12 class TDirectoryFile;
13 #include "TNamed.h"
14
15 /////////////////////////////////////////////////////////////////////////////
16 // Description: base class for flow analysis classes
17 // origin:      Mikolaj Krzewicki, mikolaj.krzewicki@cern.ch
18 /////////////////////////////////////////////////////////////////////////////
19  
20 class AliFlowAnalysis : public TNamed {
21  public:
22  
23    AliFlowAnalysis(const char* name="AliFlowAnalysis");            //default constructor
24    virtual  ~AliFlowAnalysis();  //destructor
25  
26    virtual void Init() {}                                       //Define output objects
27    virtual void ProcessEvent(AliFlowEventSimple* /*anEvent*/);  //Main routine executed by the framework
28    virtual void Make(AliFlowEventSimple* /*anEvent*/) {}        //Main routine to be implemened by user
29    virtual void Finish() {}                                           //Fill results
30    virtual void GetOutputHistograms(TList* /* outputListHistos */) {} //Copy output objects from TList
31    virtual void WriteHistograms(TDirectoryFile* /* outputFileName */) const {} //writes histograms locally (for OnTheFly)
32    
33    virtual TList*    GetHistList()      const {return NULL;}
34    virtual void      SetHistList(TList*) {}
35  
36    void SetPOItype(Int_t i) {fPOItype=i;}
37    Int_t GetPOItype() const {return fPOItype;}
38
39    void SetEventCuts(AliFlowEventSimpleCuts* cuts) {fEventCuts=cuts;}
40    AliFlowEventSimpleCuts* GetEventCuts() const {return fEventCuts;}
41
42  protected:
43    AliFlowEventSimpleCuts* fEventCuts;  //some analysis level event cuts
44    Int_t fPOItype;                       //which POI type are we processing in this analysis?
45  
46  private:
47    AliFlowAnalysis(const AliFlowAnalysis& anAnalysis);            //copy constructor
48    AliFlowAnalysis& operator=(const AliFlowAnalysis& anAnalysis); //assignment operator
49
50    ClassDef(AliFlowAnalysis,1)  // class version
51 };
52  
53 #endif