00001
00002
00003
00004 #ifndef STJTREEENTRYCOORDINATOR_H
00005 #define STJTREEENTRYCOORDINATOR_H
00006
00007 #include "StjTreeIndexList.h"
00008
00009 #include <TObject.h>
00010
00011 #include <vector>
00012
00013 class StjTreeReader;
00014
00015 class StjTreeEntryCoordinator : public TObject {
00016
00017 public:
00018 StjTreeEntryCoordinator(const StjTreeIndexList& idxList)
00019 : _indexList(idxList)
00020 { }
00021
00022 virtual ~StjTreeEntryCoordinator() { }
00023
00024 void Init();
00025 void Make();
00026
00027 bool eof() const { return (_it == _indexList.end()); }
00028
00029 void AddReader(StjTreeReader* reader) { _readerList.push_back(reader); }
00030
00031 private:
00032
00033 typedef std::vector<StjTreeReader*> ReaderList;
00034 ReaderList _readerList;
00035
00036 StjTreeIndexList _indexList;
00037
00038 StjTreeIndexList::iterator _it;
00039
00040 ClassDef(StjTreeEntryCoordinator, 1)
00041 };
00042
00043 #endif // STJTREEENTRYCOORDINATOR_H