source: trunk/MagicSoft/Mars/mfileio/MReadReports.h@ 5671

Last change on this file since 5671 was 5143, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 1.5 KB
Line 
1#ifndef MARS_MReadReports
2#define MARS_MReadReports
3
4#ifndef MARS_MRead
5#include "MRead.h"
6#endif
7
8#ifndef ROOT_TArrayL
9#include <TArrayL.h>
10#endif
11
12class TChain;
13class MTime;
14class MTaskList;
15class MReadTree;
16
17class MReadReports : public MRead
18{
19private:
20 MTaskList *fTrees; // Hold the trees which are scheduled for reading
21 TList *fChains; // Hold TChains to read the times in advance
22
23 TArrayL fPosEntry; // Store the position in each tree/chain
24 TArrayL fPosTree; // Number of Tree in file.
25
26 Bool_t fEnableAutoScheme;
27
28 MTime** GetTime(TChain *c) const;
29 Int_t FindNextTime();
30
31 UInt_t GetEntries();
32 TString GetFileName() const;
33
34 Int_t PreProcess(MParList *plist);
35 Int_t Process();
36 Int_t PostProcess();
37
38 enum {
39 kHasMaster = BIT(14)
40 };
41
42public:
43 MReadReports();
44 ~MReadReports();
45
46 void AddTree(const char *tree, const char *time=NULL, Bool_t master=kFALSE);
47 void AddTree(const char *tree, Bool_t master)
48 {
49 AddTree(tree, NULL, master);
50 }
51 Int_t AddFile(const char *fname, Int_t entries=-1);
52 void AddToBranchList(const char *name);
53
54 void PrintStatistics(const Int_t lvl=0, Bool_t title=kFALSE, Double_t time=0) const;
55
56 void EnableAutoScheme(Bool_t e=kTRUE) { fEnableAutoScheme = e; } // Must be called BEFORE AddTree!
57
58 MReadTree *GetReader(const char *tree) const;
59
60 ClassDef(MReadReports, 0) // Reads events and reports from a root file ordered in time
61};
62
63#endif
Note: See TracBrowser for help on using the repository browser.