ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

#ifndef ALIFLOWANALYSISBASE_H
#define ALIFLOWANALYSISBASE_H

class AliFlowEventSimple;
class AliFlowEventSimpleCuts;
class TList;
class TDirectoryFile;
#include "TNamed.h"

/////////////////////////////////////////////////////////////////////////////
// Description: base class for flow analysis classes
// origin:      Mikolaj Krzewicki, mikolaj.krzewicki@cern.ch
/////////////////////////////////////////////////////////////////////////////
 
class AliFlowAnalysis : public TNamed {
 public:
 
   AliFlowAnalysis(const char* name="AliFlowAnalysis");            //default constructor
   virtual  ~AliFlowAnalysis();  //destructor
 
   virtual void Init() {}                                       //Define output objects
   virtual void ProcessEvent(AliFlowEventSimple* /*anEvent*/);  //Main routine executed by the framework
   virtual void Make(AliFlowEventSimple* /*anEvent*/) {}        //Main routine to be implemened by user
   virtual void Finish() {}                                           //Fill results
   virtual void GetOutputHistograms(TList* /* outputListHistos */) {} //Copy output objects from TList
   virtual void WriteHistograms(TDirectoryFile* /* outputFileName */) const {} //writes histograms locally (for OnTheFly)
   
   virtual TList*    GetHistList()      const {return NULL;}
   virtual void      SetHistList(TList*) {}
 
   void SetPOItype(Int_t i) {fPOItype=i;}
   Int_t GetPOItype() const {return fPOItype;}

   void SetEventCuts(AliFlowEventSimpleCuts* cuts) {fEventCuts=cuts;}
   AliFlowEventSimpleCuts* GetEventCuts() const {return fEventCuts;}

 protected:
   AliFlowEventSimpleCuts* fEventCuts;  //some analysis level event cuts
   Int_t fPOItype;                       //which POI type are we processing in this analysis?
 
 private:
   AliFlowAnalysis(const AliFlowAnalysis& anAnalysis);            //copy constructor
   AliFlowAnalysis& operator=(const AliFlowAnalysis& anAnalysis); //assignment operator

   ClassDef(AliFlowAnalysis,1)  // class version
};
 
#endif
 AliFlowAnalysis.h:1
 AliFlowAnalysis.h:2
 AliFlowAnalysis.h:3
 AliFlowAnalysis.h:4
 AliFlowAnalysis.h:5
 AliFlowAnalysis.h:6
 AliFlowAnalysis.h:7
 AliFlowAnalysis.h:8
 AliFlowAnalysis.h:9
 AliFlowAnalysis.h:10
 AliFlowAnalysis.h:11
 AliFlowAnalysis.h:12
 AliFlowAnalysis.h:13
 AliFlowAnalysis.h:14
 AliFlowAnalysis.h:15
 AliFlowAnalysis.h:16
 AliFlowAnalysis.h:17
 AliFlowAnalysis.h:18
 AliFlowAnalysis.h:19
 AliFlowAnalysis.h:20
 AliFlowAnalysis.h:21
 AliFlowAnalysis.h:22
 AliFlowAnalysis.h:23
 AliFlowAnalysis.h:24
 AliFlowAnalysis.h:25
 AliFlowAnalysis.h:26
 AliFlowAnalysis.h:27
 AliFlowAnalysis.h:28
 AliFlowAnalysis.h:29
 AliFlowAnalysis.h:30
 AliFlowAnalysis.h:31
 AliFlowAnalysis.h:32
 AliFlowAnalysis.h:33
 AliFlowAnalysis.h:34
 AliFlowAnalysis.h:35
 AliFlowAnalysis.h:36
 AliFlowAnalysis.h:37
 AliFlowAnalysis.h:38
 AliFlowAnalysis.h:39
 AliFlowAnalysis.h:40
 AliFlowAnalysis.h:41
 AliFlowAnalysis.h:42
 AliFlowAnalysis.h:43
 AliFlowAnalysis.h:44
 AliFlowAnalysis.h:45
 AliFlowAnalysis.h:46
 AliFlowAnalysis.h:47
 AliFlowAnalysis.h:48
 AliFlowAnalysis.h:49
 AliFlowAnalysis.h:50
 AliFlowAnalysis.h:51
 AliFlowAnalysis.h:52
 AliFlowAnalysis.h:53