f143e7f77cdf454845114cf3309c9f111d005038
[u/mrichter/AliRoot.git] / STEER / AliESDInputHandlerRP.h
1 #ifndef ALIESDINPUTHANDLERRP_H
2 #define ALIESDINPUTHANDLERRP_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliESDInputHandler.h 24521 2008-03-14 16:43:54Z morsch $ */
7
8 //-------------------------------------------------------------------------
9 //     ESD Input Handler realisation of the AliVEventHandler interface
10 //     Automatic loading of RecPoint Trees
11 //     Author: Andreas Morsch, CERN
12 //-------------------------------------------------------------------------
13
14 #include "AliESDInputHandler.h"
15 #include "AliESDEvent.h"
16 class TList;
17 class TTree;
18 class TDirectoryFile;
19 class TString;
20
21
22 class AliESDInputHandlerRP : public AliESDInputHandler {
23
24  public:
25     AliESDInputHandlerRP();
26     AliESDInputHandlerRP(const char* name, const char* title);
27     virtual ~AliESDInputHandlerRP();
28     virtual Bool_t       Init(Option_t* opt);
29     virtual Bool_t       Init(TTree* tree, Option_t* opt) {return AliESDInputHandler::Init(tree, opt);}
30     virtual Bool_t       InitIO(Option_t* opt) {return Init(opt);};
31     virtual Bool_t       BeginEvent(Long64_t entry);
32     virtual Bool_t       FinishEvent();
33     virtual Bool_t       LoadEvent(Int_t iev);
34     virtual Bool_t       Notify() { return AliESDInputHandler::Notify();}
35     virtual Bool_t       Notify(const char* path);
36     virtual void         ResetIO();
37     //
38     virtual TTree*       GetTreeR(const char* det);
39  private:
40     Bool_t      OpenFile(Int_t i);
41     AliESDInputHandlerRP(const AliESDInputHandlerRP& handler);             
42     AliESDInputHandlerRP& operator=(const AliESDInputHandlerRP& handler);  
43  private:
44     TObjArray*      fRTrees;           // List of RecPoint Trees
45     TObjArray*      fRDirs;            // List of RecPoint directories
46     TList*          fRFiles;           // List of RecPoint Files
47     TList*          fDetectors;        // List of detector names
48     TDirectoryFile *fDirR;             //! Directory for RP Tree
49     Int_t           fEventNumber;      //! Current event number
50     Int_t           fFileNumber;       //! Input file number
51     Int_t           fEventsPerFile;    //! Number of events per file
52     const Char_t   *fExtension;        //! File name extension
53     TString        *fPathName;         //! Input file path
54     Bool_t          fIsArchive;        //! True if directory is an archive
55     ClassDef(AliESDInputHandlerRP, 1);
56 };
57
58 #endif