Reading friends in analysis framework inside HLT
[u/mrichter/AliRoot.git] / STEER / STEER / AliHLTTestInputHandler.h
1 #ifndef ALIHLTTESTINPUTHANDLER_H
2 #define ALIHLTTESTINPUTHANDLER_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //-------------------------------------------------------------------------
7 //     Reconstruction-specific input handler
8 //     Author: Andrei Gheata, CERN
9 //-------------------------------------------------------------------------
10
11 #ifndef ALIVEVENTHANDLER_H
12 #include "AliVEventHandler.h"
13 #endif
14
15 class TObjArray;
16 class AliVEvent;
17 class AliESDfriend;
18
19 class AliHLTTestInputHandler : public AliVEventHandler {
20
21  public:
22     AliHLTTestInputHandler() {}
23     AliHLTTestInputHandler(const char* name, const char* title);
24     virtual ~AliHLTTestInputHandler() {}
25     virtual Bool_t Notify() { return kFALSE; }
26     virtual Bool_t Notify(const char *) {return kTRUE;}
27     virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;}
28     virtual Bool_t Init(TTree* /*tree*/, Option_t* /*opt*/);
29     virtual Bool_t BeginEvent(Long64_t entry);
30     virtual Bool_t FinishEvent() {return kTRUE;}
31     virtual void  SetOutputFileName(const char* /*fname*/) {};
32     virtual const char* GetOutputFileName() const {return NULL;}
33     // Input
34     virtual void SetInputTree(TTree* /*tree*/) {};
35     // Steering 
36     virtual Bool_t GetEntry() {return kTRUE;}
37     virtual Bool_t Terminate() {return kTRUE;}
38     virtual Bool_t TerminateIO() {return kTRUE;}
39
40     // Especially needed for HLT
41     Bool_t InitTaskInputData(AliVEvent* /*esdEvent*/, AliESDfriend* /*friendEvent*/, TObjArray* /*arrTasks*/);
42
43     AliVEvent* GetEvent() const {return fEvent;}
44     void  SetEvent(AliVEvent *event) {fEvent = event;}
45
46     AliESDfriend* GetFriendEvent() const {return fFriendEvent;}
47     void  SetFriendEvent(AliESDfriend *friendEvent) {fFriendEvent = friendEvent;}
48       
49  private:
50     AliHLTTestInputHandler(const AliVEventHandler& handler);             
51     AliHLTTestInputHandler& operator=(const AliVEventHandler& handler);  
52     
53     AliVEvent    *fEvent;          //! Pointer to the event
54     AliESDfriend *fFriendEvent;    //! Pointer to the friend event
55
56     ClassDef(AliHLTTestInputHandler, 1);
57 };
58
59 #endif