- Set of changes needed for merging aod files in CAF. Some fixes also for event mixing.
[u/mrichter/AliRoot.git] / STEER / AliVEventHandler.h
1 #ifndef ALIVEVENTHANDLER_H
2 #define ALIVEVENTHANDLER_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //     Event Handler base class
10 //     Author: Andreas Morsch, CERN
11 //-------------------------------------------------------------------------
12
13 #include <TNamed.h>
14
15 class TTree;
16
17 class AliVEventHandler : public TNamed {
18
19  public:
20     AliVEventHandler();
21     AliVEventHandler(const char* name, const char* title);
22     virtual ~AliVEventHandler();
23     // Handled tree
24     virtual TTree       *GetTree() { return NULL; }
25     // Output
26     virtual void         SetOutputFileName(const char* fname)   = 0;
27     virtual const char*  GetOutputFileName()              = 0;
28     // Input
29     virtual void         SetInputTree(TTree* tree)        = 0;
30     // Steering 
31     virtual Bool_t       Init(Option_t* opt)              = 0;
32     virtual Bool_t       Init(TTree* tree, Option_t* opt) = 0;
33     virtual Bool_t       BeginEvent(Long64_t entry)       = 0;
34     virtual Bool_t       Notify(const char *path)         = 0;
35     virtual Bool_t       FinishEvent()                    = 0;
36     virtual Bool_t       Terminate()                      = 0;
37     virtual Bool_t       TerminateIO()                    = 0;
38     //
39     virtual Bool_t       Notify() { return TNamed::Notify(); };
40  private :
41   ClassDef(AliVEventHandler, 1);
42 };
43
44 #endif