ROOT logo
#ifndef ALIESDINPUTHANDLERRP_H
#define ALIESDINPUTHANDLERRP_H
/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id: AliESDInputHandler.h 24521 2008-03-14 16:43:54Z morsch $ */

//-------------------------------------------------------------------------
//     ESD Input Handler realisation of the AliVEventHandler interface
//     Automatic loading of RecPoint Trees
//     Author: Andreas Morsch, CERN
//-------------------------------------------------------------------------

#include "AliESDInputHandler.h"
class TList;
class TTree;
class TDirectoryFile;
class TString;


class AliESDInputHandlerRP : public AliESDInputHandler {

 public:
    AliESDInputHandlerRP();
    AliESDInputHandlerRP(const char* name, const char* title);
    virtual ~AliESDInputHandlerRP();
    virtual Bool_t       Init(Option_t* opt);
    virtual Bool_t       Init(TTree* tree, Option_t* opt) {return AliESDInputHandler::Init(tree, opt);}
    virtual Bool_t       InitIO(Option_t* opt) {return Init(opt);};
    virtual Bool_t       BeginEvent(Long64_t entry);
    virtual Bool_t       FinishEvent();
    virtual Bool_t       LoadEvent(Int_t iev);
    virtual Bool_t       Notify() { return AliESDInputHandler::Notify();}
    virtual Bool_t       Notify(const char* path);
    virtual void         ResetIO();
    //
    virtual TTree*       GetTreeR(const char* det);
 private:
    Bool_t      OpenFile(Int_t i);
    AliESDInputHandlerRP(const AliESDInputHandlerRP& handler);             
    AliESDInputHandlerRP& operator=(const AliESDInputHandlerRP& handler);  
 private:
    TObjArray*      fRTrees;           // List of RecPoint Trees
    TObjArray*      fRDirs;            // List of RecPoint directories
    TList*          fRFiles;           // List of RecPoint Files
    TList*          fDetectors;        // List of detector names
    TDirectoryFile *fDirR;             //! Directory for RP Tree
    Int_t           fEventNumber;      //! Current event number
    Int_t           fFileNumber;       //! Input file number
    Int_t           fEventsPerFile;    //! Number of events per file
    const Char_t   *fExtension;        //! File name extension
    TString        *fPathName;         //! Input file path
    Bool_t          fIsArchive;        //! True if directory is an archive
    ClassDef(AliESDInputHandlerRP, 1);
};

#endif
 AliESDInputHandlerRP.h:1
 AliESDInputHandlerRP.h:2
 AliESDInputHandlerRP.h:3
 AliESDInputHandlerRP.h:4
 AliESDInputHandlerRP.h:5
 AliESDInputHandlerRP.h:6
 AliESDInputHandlerRP.h:7
 AliESDInputHandlerRP.h:8
 AliESDInputHandlerRP.h:9
 AliESDInputHandlerRP.h:10
 AliESDInputHandlerRP.h:11
 AliESDInputHandlerRP.h:12
 AliESDInputHandlerRP.h:13
 AliESDInputHandlerRP.h:14
 AliESDInputHandlerRP.h:15
 AliESDInputHandlerRP.h:16
 AliESDInputHandlerRP.h:17
 AliESDInputHandlerRP.h:18
 AliESDInputHandlerRP.h:19
 AliESDInputHandlerRP.h:20
 AliESDInputHandlerRP.h:21
 AliESDInputHandlerRP.h:22
 AliESDInputHandlerRP.h:23
 AliESDInputHandlerRP.h:24
 AliESDInputHandlerRP.h:25
 AliESDInputHandlerRP.h:26
 AliESDInputHandlerRP.h:27
 AliESDInputHandlerRP.h:28
 AliESDInputHandlerRP.h:29
 AliESDInputHandlerRP.h:30
 AliESDInputHandlerRP.h:31
 AliESDInputHandlerRP.h:32
 AliESDInputHandlerRP.h:33
 AliESDInputHandlerRP.h:34
 AliESDInputHandlerRP.h:35
 AliESDInputHandlerRP.h:36
 AliESDInputHandlerRP.h:37
 AliESDInputHandlerRP.h:38
 AliESDInputHandlerRP.h:39
 AliESDInputHandlerRP.h:40
 AliESDInputHandlerRP.h:41
 AliESDInputHandlerRP.h:42
 AliESDInputHandlerRP.h:43
 AliESDInputHandlerRP.h:44
 AliESDInputHandlerRP.h:45
 AliESDInputHandlerRP.h:46
 AliESDInputHandlerRP.h:47
 AliESDInputHandlerRP.h:48
 AliESDInputHandlerRP.h:49
 AliESDInputHandlerRP.h:50
 AliESDInputHandlerRP.h:51
 AliESDInputHandlerRP.h:52
 AliESDInputHandlerRP.h:53
 AliESDInputHandlerRP.h:54
 AliESDInputHandlerRP.h:55
 AliESDInputHandlerRP.h:56
 AliESDInputHandlerRP.h:57