AliRoot Core  3dc7879 (3dc7879)
AliVEventHandler.h
Go to the documentation of this file.
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 class TObjArray;
17 class AliVEvent;
18 class AliVfriendEvent;
19 class AliVCuts;
20 class AliEventTag;
21 class AliRunTag;
22 class AliPIDResponse;
23 class AliMCEvent;
24 
25 class AliVEventHandler : public TNamed {
26 
27  public:
29  kHandlerLocked = BIT(14)
30 };
32  AliVEventHandler(const char* name, const char* title);
33  virtual ~AliVEventHandler();
34  // Handled tree
35  virtual TTree *GetTree() const { return NULL; }
36  virtual Option_t *GetDataType() const { return NULL; }
37  virtual Bool_t GetFillAOD() const {return kTRUE;}
38  virtual Bool_t GetFillExtension() const {return kTRUE;}
39  virtual void SetFillAOD(Bool_t) {}
40  virtual void SetFillExtension(Bool_t) {}
41  // Input
42  virtual void SetInputFileName(const char*) {}
43  virtual const char* GetInputFileName() const {return 0;}
44  // Output
45  virtual void SetOutputFileName(const char* fname) = 0;
46  virtual const char* GetOutputFileName() const = 0;
47  // Extra outputs as a string separated by commas
48  virtual const char* GetExtraOutputs(Bool_t merge=kFALSE) const;
49  // Input
50  virtual void SetInputTree(TTree* tree) = 0;
51  // Steering
52  virtual Bool_t Init(Option_t* opt) = 0;
53  virtual Bool_t Init(TTree* tree, Option_t* opt) = 0;
54  virtual Bool_t BeginEvent(Long64_t entry) = 0;
55  virtual Bool_t GetEntry() = 0;
56  virtual Bool_t Notify(const char *path) = 0;
57  virtual Bool_t FinishEvent() = 0;
58  virtual Bool_t Terminate() = 0;
59  virtual Bool_t TerminateIO() = 0;
60  virtual AliVCuts* GetEventSelection() const = 0;
61  virtual UInt_t IsEventSelected() {return 0;}
62  virtual Long64_t GetReadEntry() const {return 0;}
63  virtual const AliEventTag* GetEventTag() const {return 0;}
64  virtual Option_t *GetAnalysisType() const {return 0;}
65  virtual AliRunTag *GetRunTag() const {return 0;}
66  virtual AliPIDResponse* GetPIDResponse() {return 0x0;}
67  virtual AliMCEvent* MCEvent() const {return 0;}
68  virtual void SetNeedField(Bool_t flag=kTRUE) {}
69  virtual TObject *GetStatistics(Option_t *option="") const {return NULL;}
70  //
71  virtual Bool_t Notify() { return TNamed::Notify(); };
72  // Security
73  Bool_t IsLocked() const {return TObject::TestBit(kHandlerLocked);}
74  void Lock();
75  void UnLock();
76  void Changed();
77  virtual void SetCacheSize(Long64_t) {}
78  virtual TList *GetUserInfo() const {return 0x0;};
79 
80  // HLT
81  virtual Bool_t InitTaskInputData(AliVEvent* /*event*/, AliVfriendEvent* /*esdFriend*/, TObjArray* /*arrTasks*/) {return kTRUE;};
82  virtual AliVEvent* GetEvent() const {return 0x0;};
83  virtual AliVfriendEvent* GetVfriendEvent() const {return 0x0;};
84 
85  ClassDef(AliVEventHandler, 1);
86 };
87 
88 #endif
virtual const AliEventTag * GetEventTag() const
virtual Bool_t GetEntry()=0
virtual void SetOutputFileName(const char *fname)=0
virtual UInt_t IsEventSelected()
#define TObjArray
const char * path
virtual ~AliVEventHandler()
virtual AliVfriendEvent * GetVfriendEvent() const
virtual void SetFillExtension(Bool_t)
virtual const char * GetInputFileName() const
Bool_t IsLocked() const
virtual Option_t * GetAnalysisType() const
virtual Bool_t TerminateIO()=0
virtual Bool_t FinishEvent()=0
virtual void SetFillAOD(Bool_t)
virtual Bool_t GetFillExtension() const
virtual Option_t * GetDataType() const
virtual Bool_t GetFillAOD() const
virtual void SetInputTree(TTree *tree)=0
virtual Bool_t BeginEvent(Long64_t entry)=0
TTree * tree
virtual TObject * GetStatistics(Option_t *option="") const
virtual TTree * GetTree() const
virtual const char * GetExtraOutputs(Bool_t merge=kFALSE) const
virtual Long64_t GetReadEntry() const
virtual AliVCuts * GetEventSelection() const =0
virtual void SetInputFileName(const char *)
virtual Bool_t Terminate()=0
virtual AliMCEvent * MCEvent() const
virtual Bool_t InitTaskInputData(AliVEvent *, AliVfriendEvent *, TObjArray *)
virtual Bool_t Init(Option_t *opt)=0
virtual const char * GetOutputFileName() const =0
virtual AliRunTag * GetRunTag() const
virtual Bool_t Notify()
virtual AliVEvent * GetEvent() const
virtual void SetCacheSize(Long64_t)
char * fname
virtual AliPIDResponse * GetPIDResponse()
virtual void SetNeedField(Bool_t flag=kTRUE)
virtual TList * GetUserInfo() const