]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/AliEveEventManager.h
Temporary fix to avoid xrootd thrashing
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveEventManager.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef ALIEVE_EventAlieve_H
11 #define ALIEVE_EventAlieve_H
12
13 #include <TEveEventManager.h>
14
15 class AliRunLoader;
16 class AliESDEvent;
17 class AliESDfriend;
18
19 class AliMagF;
20
21 class TFile;
22 class TTree;
23 class TGeoManager;
24
25
26 class AliEveEventManager : public TEveEventManager
27 {
28 private:
29   AliEveEventManager(const AliEveEventManager&);            // Not implemented
30   AliEveEventManager& operator=(const AliEveEventManager&); // Not implemented
31
32 protected:
33   TString       fPath;
34   Int_t         fEventId;
35
36   AliRunLoader* fRunLoader;
37
38   TFile*        fESDFile;
39   TTree*        fESDTree;
40   AliESDEvent*  fESD;
41   AliESDfriend* fESDfriend;
42   Bool_t        fESDfriendExists;
43
44   static TString  fgCdbUri;
45   static Bool_t   fgAssertRunLoader;
46   static Bool_t   fgAssertESDTree;
47
48   static AliMagF* fgMagField;
49
50 public:
51   static void SetCdbUri(const Text_t* cdb) { if (cdb) fgCdbUri = cdb; }
52   static void SetAssertElements(Bool_t assertRunloader, Bool_t assertEsd)
53   { fgAssertRunLoader = assertRunloader; fgAssertESDTree = assertEsd; }
54
55   AliEveEventManager();
56   AliEveEventManager(TString path, Int_t ev=0);
57
58   virtual void Open();
59   virtual void GotoEvent(Int_t event);
60   virtual void NextEvent() { GotoEvent(fEventId + 1); }
61   virtual void PrevEvent() { GotoEvent(fEventId - 1); }
62   virtual void Close();
63
64   Int_t         GetEventId()   const { return fEventId; }
65   AliRunLoader* GetRunLoader() const { return fRunLoader; }
66   TTree*        GetESDTree()   const { return fESDTree; }
67   AliESDEvent*  GetESD()       const { return fESD; }
68   AliESDfriend* GetESDfriend()       const { return fESDfriend; }
69   Bool_t        GetESDfriendExists() const { return fESDfriendExists; }
70   virtual const Text_t* GetTitle()   const { return fPath.Data(); }
71
72   static AliRunLoader* AssertRunLoader();
73   static AliESDEvent*  AssertESD();
74   static AliESDfriend* AssertESDfriend();
75
76   static AliMagF*      AssertMagField();
77
78   static TGeoManager*  AssertGeometry();
79
80   ClassDef(AliEveEventManager, 1);
81 }; // endclass AliEveEventManager
82
83 extern AliEveEventManager* gEvent;
84
85 #endif