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

Last change on this file since 4787 was 4766, 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;
15
16class MReadReports : public MRead
17{
18private:
19 MTaskList *fTrees; // Hold the trees which are scheduled for reading
20 TList *fChains; // Hold TChains to read the times in advance
21
22 TArrayL fPosEntry; // Store the position in each tree/chain
23 TArrayL fPosTree; // Number of Tree in file.
24
25 MTask *fList; // pointer to the task list to set the stream id
26
27 Bool_t fEnableAutoScheme;
28
29 MTime** GetTime(TChain *c) const;
30 Int_t FindNextTime();
31
32 UInt_t GetEntries();
33 TString GetFileName() const;
34
35 Int_t PreProcess(MParList *plist);
36 Int_t Process();
37 Int_t PostProcess();
38
39 enum {
40 kHasMaster = BIT(14)
41 };
42
43public:
44 MReadReports();
45 ~MReadReports();
46
47 void AddTree(const char *tree, const char *time=NULL, Bool_t master=kFALSE);
48 void AddTree(const char *tree, Bool_t master)
49 {
50 AddTree(tree, NULL, master);
51 }
52 Int_t AddFile(const char *fname, Int_t entries=-1);
53 void AddToBranchList(const char *name);
54
55 void PrintStatistics(const Int_t lvl=0, Bool_t title=kFALSE, Double_t time=0) const;
56
57 void EnableAutoScheme(Bool_t e=kTRUE) { fEnableAutoScheme = e; } // Must be called BEFORE AddTree!
58
59 ClassDef(MReadReports, 0) // Reads events and reports from a root file ordered in time
60};
61
62#endif
Note: See TracBrowser for help on using the repository browser.