]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODHandler.h
f459e96b5da65809d570571e145147a7a0f06af5
[u/mrichter/AliRoot.git] / STEER / AliAODHandler.h
1 #ifndef ALIAODHANDLER_H
2 #define ALIAODHANDLER_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 //     Implementation of the Event Handler Interface for AOD
10 //     Author: Andreas Morsch, CERN
11 //-------------------------------------------------------------------------
12
13 #include "AliVEventHandler.h"
14
15 class AliAODEvent;
16 class TFile;
17 class TTree;
18
19
20
21 class AliAODHandler : public AliVEventHandler {
22     
23  public:
24     AliAODHandler();
25     AliAODHandler(const char* name, const char* title);
26     virtual ~AliAODHandler();
27     virtual void         SetOutputFileName(const char* fname) {fName = fname;}
28     virtual const char*  GetOutputFileName() {return fName;}
29     virtual Bool_t       Init(Option_t* option);
30     virtual Bool_t       Init(TTree* /*tree*/, Option_t* /*option*/)  {return kTRUE;}
31     virtual Bool_t       BeginEvent(Long64_t /*entry*/)  {return kTRUE;}
32     virtual Bool_t       Notify() { return AliVEventHandler::Notify(); };
33     virtual Bool_t       Notify(const char * /* path */) {return kTRUE;}
34     virtual Bool_t       FinishEvent();
35     virtual Bool_t       Terminate();
36     virtual Bool_t       TerminateIO();
37     //
38     virtual void         SetCreateNonStandardAOD() {fIsStandard = kFALSE;}
39     //
40     AliAODEvent*         GetAOD()  {return fAODEvent;}
41     TTree*               GetTree() {return fTreeA;}
42     void                 CreateTree(Int_t flag);
43     void                 FillTree();
44     void                 AddAODtoTreeUserInfo();
45     void                 AddBranch(const char* cname, void* addobj);
46     Bool_t               IsStandard() {return fIsStandard;}
47     //
48     void                 SetInputTree(TTree* /*tree*/) {;}
49  private:
50     AliAODHandler(const AliAODHandler&);             // Not implemented
51     AliAODHandler& operator=(const AliAODHandler&);  // Not implemented
52  private:
53     Bool_t                   fIsStandard; //! Flag for standard aod creation 
54     AliAODEvent             *fAODEvent;   //! Pointer to the AOD event
55     TTree                   *fTreeA;      //! tree for AOD persistency
56     TFile                   *fFileA;      //! Output file
57     const char              *fName;       //! Output file name
58     ClassDef(AliAODHandler, 1);
59 };
60
61 #endif