#ifndef ROOT_TEntryListFromFile
#define ROOT_TEntryListFromFile
#include "TEntryList.h"
class TFile;
class TEntryListFromFile: public TEntryList
{
protected:
TString fListFileName;
TString fListName;
Int_t fNFiles;
Long64_t *fListOffset;
TFile *fFile;
TObjArray *fFileNames;
private:
TEntryListFromFile(const TEntryListFromFile&);
TEntryListFromFile &operator=(const TEntryListFromFile&);
public:
enum {
kBigNumber = 1234567890
};
TEntryListFromFile();
TEntryListFromFile(const char *filename, const char *listname, Int_t nfiles);
virtual ~TEntryListFromFile();
virtual void Add(const TEntryList * ){};
virtual Int_t Contains(Long64_t , TTree * ) {return 0;};
virtual Bool_t Enter(Long64_t , TTree * ){return 0;};
virtual TEntryList *GetCurrentList() const { return fCurrent; };
virtual TEntryList *GetEntryList(const char * , const char * , Option_t * ) {return 0;};
virtual Long64_t GetEntry(Int_t index);
virtual Long64_t GetEntryAndTree(Int_t index, Int_t &treenum);
virtual Long64_t GetEntries();
virtual Long64_t GetEntriesFast() const { return fN; };
virtual Long64_t GetN() const { return fN; }
virtual const char *GetTreeName() const { return fTreeName.Data(); }
virtual const char *GetFileName() const { return fFileName.Data(); }
virtual Int_t GetTreeNumber() const { return fTreeNumber; }
virtual Int_t LoadList(Int_t listnumber);
virtual Int_t Merge(TCollection * ){ return 0; };
virtual Long64_t Next();
virtual void OptimizeStorage() {};
virtual Bool_t Remove(Long64_t , TTree * ){ return 0; };
virtual void Print(const Option_t* option = "") const;
virtual void SetTree(const TTree * ){};
virtual void SetTree(const char * , const char * ){};
virtual void SetFileNames(TObjArray *names) { fFileNames = names; }
virtual void SetTreeNumber(Int_t index) { fTreeNumber=index; }
virtual void SetNFiles(Int_t nfiles) { fNFiles = nfiles; }
virtual void Subtract(const TEntryList * ) {};
ClassDef(TEntryListFromFile, 1);
};
#endif