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

Last change on this file since 4751 was 4746, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 1.6 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() { return 0; }
33 TString GetFileName() const { return "<MReadReports>"; };
34
35 Int_t PreProcess(MParList *plist);
36 Int_t Process();
37 Int_t PostProcess();
38
39 //Bool_t Notify();
40
41 enum {
42 //MReadTree::kChainWasChanged = BIT(14)
43 kHasMaster = BIT(15)
44 };
45
46public:
47 MReadReports();
48 ~MReadReports();
49
50 void AddTree(const char *tree, const char *time=NULL, Bool_t master=kFALSE);
51 void AddTree(const char *tree, Bool_t master)
52 {
53 AddTree(tree, NULL, master);
54 }
55 Int_t AddFile(const char *fname, Int_t entries=-1);
56 void AddToBranchList(const char *name);
57
58 void PrintStatistics(const Int_t lvl=0, Bool_t title=kFALSE, Double_t time=0) const;
59
60 void EnableAutoScheme(Bool_t e=kTRUE) { fEnableAutoScheme = e; } // Must be called BEFORE AddTree!
61
62 ClassDef(MReadReports, 0) // Reads events and reports from a root file ordered in time
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.