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