]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/VSDEvent.h
Merge from EVE-dev to HEAD.
[u/mrichter/AliRoot.git] / EVE / Reve / VSDEvent.h
CommitLineData
e6f0d8f7 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>
13class TBrowser;
14
15namespace Reve {
16
17class VSD;
18
19class EvTree : public TTree
20{
21public:
22 TFolder fFolder;
23
265ecb21 24 EvTree() : TTree(), fFolder() {}
e6f0d8f7 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
34class VSDEvent : public EventBase
35{
265ecb21 36 VSDEvent(const VSDEvent&); // Not implemented
37 VSDEvent& operator=(const VSDEvent&); // Not implemented
38
e6f0d8f7 39protected:
40 Int_t fRun;
41 Int_t fEvent;
42 TString fUrl;
43
44 std::map<TString, TString> fTags;
45
46 TDirectory* fDirectory; //!
47
48 VSD* fCreator; //!
49 VSD* fSelector; //!
50
51public:
52 VSDEvent();
53 VSDEvent(Int_t run, Int_t evt, const TString& url=".");
54 VSDEvent(const TString& url);
55 // Static ctors
56 static VSDEvent* OpenDirectory(const TString& dir_name);
57 static VSDEvent* OpenDirectory(TDirectory* dir);
58
59 TDirectory* GetDirectory() { return fDirectory; }
60 void SetDirectory(TDirectory* dir);
61 TDirectory* MakeDirectory(const Text_t* name, const Text_t* title="");
62
63 TObject* Get(const Text_t* obj_name) { return fDirectory->Get(obj_name); }
64
65 virtual void Print(Option_t* opt="") const;
66
67 static const TString sVSDHeaderName;
68
69 ClassDef(VSDEvent, 1);
70}; // endclass VSDEvent
71
72}
73
74#endif