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 */
8 //-------------------------------------------------------------------------
9 // Event Handler base class
10 // Author: Andreas Morsch, CERN
11 //-------------------------------------------------------------------------
17 class AliVEventHandler : public TNamed {
21 AliVEventHandler(const char* name, const char* title);
22 virtual ~AliVEventHandler();
24 virtual TTree *GetTree() const { return NULL; }
25 virtual Option_t *GetDataType() const { return NULL; }
26 virtual void SetFillAOD(Bool_t) {}
27 virtual void SetFillExtension(Bool_t) {}
29 virtual void SetOutputFileName(const char* fname) = 0;
30 virtual const char* GetOutputFileName() = 0;
31 // Extra outputs as a string separated by commas
32 virtual const char* GetExtraOutputs() const {return NULL;}
34 virtual void SetInputTree(TTree* tree) = 0;
36 virtual Bool_t Init(Option_t* opt) = 0;
37 virtual Bool_t Init(TTree* tree, Option_t* opt) = 0;
38 virtual Bool_t BeginEvent(Long64_t entry) = 0;
39 virtual Bool_t GetEntry() = 0;
40 virtual Bool_t Notify(const char *path) = 0;
41 virtual Bool_t FinishEvent() = 0;
42 virtual Bool_t Terminate() = 0;
43 virtual Bool_t TerminateIO() = 0;
45 virtual Bool_t Notify() { return TNamed::Notify(); };
47 ClassDef(AliVEventHandler, 1);