]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliInputEventHandler.h
e551f5721de7643db7e07e66db5aa99be5d5f678
[u/mrichter/AliRoot.git] / STEER / AliInputEventHandler.h
1 #ifndef ALIINPUTEVENTHANDLER_H
2 #define ALIINPUTEVENTHANDLER_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 //     Input Handler realisation of the AliVEventHandler interface
10 //     Author: Andreas Morsch, CERN
11 //-------------------------------------------------------------------------
12
13 #include "AliVEventHandler.h"
14 #include <TTree.h>
15
16
17 class AliVEvent;
18 class AliRunTag;
19
20 class AliInputEventHandler : public AliVEventHandler {
21
22  public:
23     AliInputEventHandler();
24     AliInputEventHandler(const char* name, const char* title);
25     virtual ~AliInputEventHandler();
26     virtual void         SetOutputFileName(const char* /*fname*/) {;}
27     virtual const char  *GetOutputFileName()                          {return 0;}
28     virtual Bool_t       Init(Option_t* /*opt*/)                      {return kTRUE;}
29     virtual Bool_t       Init(TTree* /*tree*/, Option_t* /*opt*/)     {return kTRUE;}
30     virtual Bool_t       BeginEvent(Long64_t /*entry*/)               {return kTRUE;}
31     virtual Bool_t       Notify() { return AliVEventHandler::Notify();}
32     virtual Bool_t       Notify(const char */*path*/)                 {return kTRUE;}
33     virtual Bool_t       FinishEvent()                                {return kTRUE;}        
34     virtual Bool_t       Terminate()                                  {return kTRUE;}
35     virtual Bool_t       TerminateIO()                                {return kTRUE;}
36     // Setters
37     virtual void         SetInputTree(TTree* tree)                    {fTree = tree;}
38     //
39     void SetInactiveBranches(const char* branches) {fBranches   = branches;}
40     void SetActiveBranches  (const char* branches) {fBranchesOn = branches;}
41      // Getters
42     virtual AliVEvent   *GetEvent()        const                      {return 0;}
43     virtual AliRunTag   *GetRunTag()       const                      {return 0;}
44     virtual Option_t    *GetAnalysisType() const                      {return 0;}
45     virtual TTree       *GetTree( )        const                      {return fTree;}
46     virtual Long64_t     GetReadEntry()    const;
47     virtual Bool_t       NewEvent()
48         {Bool_t ne = fNewEvent; fNewEvent = kFALSE; return ne;}
49  protected:
50     void SwitchOffBranches() const;
51     void SwitchOnBranches()  const;
52  private:
53     AliInputEventHandler(const AliInputEventHandler& handler);             
54     AliInputEventHandler& operator=(const AliInputEventHandler& handler);  
55  protected:
56     TTree          *fTree;         //! Pointer to the tree
57     TString         fBranches;     //  List of branches to be switched off (separated by space)
58     TString         fBranchesOn;   //  List of branches to be switched on  (separated by space)
59     Bool_t          fNewEvent;     //  New event flag 
60     ClassDef(AliInputEventHandler, 2);
61 };
62
63 #endif