StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjTreeEntryCoordinator.h
1 // -*- mode: c++;-*-
2 // $Id: StjTreeEntryCoordinator.h,v 1.4 2008/08/11 04:32:19 tai Exp $
3 // Copyright (C) 2008 Tai Sakuma <sakuma@bnl.gov>
4 #ifndef STJTREEENTRYCOORDINATOR_H
5 #define STJTREEENTRYCOORDINATOR_H
6 
7 #include "StjTreeIndexList.h"
8 
9 #include <TObject.h>
10 
11 #include <vector>
12 
13 class StjTreeReader;
14 
15 class StjTreeEntryCoordinator : public TObject {
16 
17 public:
18  StjTreeEntryCoordinator(const StjTreeIndexList& idxList)
19  : _indexList(idxList)
20  { }
21 
22  virtual ~StjTreeEntryCoordinator() { }
23 
24  void Init();
25  void Make();
26 
27  bool eof() const { return (_it == _indexList.end()); }
28 
29  void AddReader(StjTreeReader* reader) { _readerList.push_back(reader); }
30 
31 private:
32 
33  typedef std::vector<StjTreeReader*> ReaderList;
34  ReaderList _readerList;
35 
36  StjTreeIndexList _indexList;
37 
38  StjTreeIndexList::iterator _it;
39 
40  ClassDef(StjTreeEntryCoordinator, 1)
41 };
42 
43 #endif // STJTREEENTRYCOORDINATOR_H