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
00068 string GetInputFilePattern(void){ return spattern; };
00069
00070 private:
00071
00072 vector <string> rootfilename;
00073 string spattern;
00074 string fchainname;
00075 bool fverbose;
00076
00077 void ChainPOSIX(void);
00078 void ChainXROOTD(const vector <string> rootfiles);
00079
00080 ClassDef(Chain,0)
00081 };
00082
00083 #endif
00084
00085