]>
Commit | Line | Data |
---|---|---|
5a5a1232 | 1 | // $Header$ |
2 | ||
3 | #ifndef REVE_Event_H | |
4 | #define REVE_Event_H | |
5 | ||
6 | #include <Reve/Reve.h> | |
7 | #include <TDirectory.h> | |
8 | #include <map> | |
9 | ||
10 | #include <TTree.h> | |
11 | #include <TFolder.h> | |
12 | class TBrowser; | |
13 | ||
14 | namespace Reve { | |
15 | ||
16 | class VSD; | |
17 | ||
18 | class EvTree : public TTree | |
19 | { | |
20 | public: | |
21 | TFolder fFolder; | |
22 | ||
23 | EvTree() : TTree() {} | |
24 | EvTree(const char* name, const char* title, Int_t splitlevel = 99) : | |
25 | TTree(name, title, splitlevel), fFolder("Folder", "Additional event data") {} | |
26 | virtual ~EvTree() {} | |
27 | ||
28 | virtual void Browse(TBrowser* b); | |
29 | ||
30 | ClassDef(EvTree, 1); | |
31 | }; | |
32 | ||
33 | class Event : public TNamed | |
34 | { | |
35 | private: | |
36 | void Init(); | |
37 | ||
38 | protected: | |
39 | Int_t fRun; | |
40 | Int_t fEvent; | |
41 | TString fUrl; | |
42 | ||
43 | std::map<TString, TString> fTags; | |
44 | ||
45 | TDirectory* fDirectory; //! | |
46 | ||
47 | VSD* fCreator; //! | |
48 | VSD* fSelector; //! | |
49 | ||
50 | public: | |
51 | Event(); | |
52 | Event(Int_t run, Int_t evt, const TString& url="."); | |
53 | Event(const TString& url); | |
54 | // Static ctors | |
55 | static Event* OpenDirectory(const TString& dir_name); | |
56 | static Event* OpenDirectory(TDirectory* dir); | |
57 | ||
58 | TDirectory* GetDirectory() { return fDirectory; } | |
59 | void SetDirectory(TDirectory* dir); | |
60 | TDirectory* MakeDirectory(const Text_t* name, const Text_t* title=""); | |
61 | ||
62 | TObject* Get(const Text_t* obj_name) { return fDirectory->Get(obj_name); } | |
63 | ||
64 | virtual void Print(Option_t* opt="") const; | |
65 | ||
66 | static const TString sVSDHeaderName; | |
67 | ||
68 | ClassDef(Event, 1); | |
69 | }; // endclass Event | |
70 | ||
71 | } | |
72 | ||
73 | #endif |