00001
00002
00004 #ifndef __Chain__
00005 #define __Chain__
00006
00007 #include "CUtils.h"
00008 #include "TFile.h"
00009 #include "TChain.h"
00010
00011 using namespace std;
00012
00018 class Chain : public TChain {
00019
00020 public:
00021
00032 Chain(const char* chainname, const char* pattern, const bool verbose=false);
00033
00037 virtual ~Chain(void);
00038
00050 bool AddFile(const string afilename);
00051
00055 inline int GetNfiles(void){ return (int)rootfilename.size(); };
00056
00063 string GetFilePath(const int afilenumber);
00064
00065 private:
00066
00067 vector <string> rootfilename;
00068 string fchainname;
00069 bool fverbose;
00070
00071 void ChainPOSIX(const char* pattern);
00072 void ChainXROOTD(const vector <string> rootfiles);
00073
00074 ClassDef(Chain,0)
00075 };
00076
00077 #endif
00078
00079