2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #ifndef AliEveEventManaget_H
11 #define AliEveEventManager_H
13 #include <TEveEventManager.h>
25 //==============================================================================
29 // Interface to ALICE event-data (RunLoader, ESD), magnetic field and
34 class AliEveEventManager : public TEveEventManager
37 AliEveEventManager(const AliEveEventManager&); // Not implemented
38 AliEveEventManager& operator=(const AliEveEventManager&); // Not implemented
41 TString fPath; // URL to event-data.
42 Int_t fEventId; // Id of current event.
44 AliRunLoader* fRunLoader; // Run loader.
46 TFile* fESDFile; // ESD file.
47 TTree* fESDTree; // ESD tree.
48 AliESDEvent* fESD; // ESDEvent object.
49 AliESDfriend* fESDfriend; // ESDfriend object.
50 Bool_t fESDfriendExists; // Flag specifying if ESDfriend was found during opening of the event-data.
52 static TString fgCdbUri; // Global URI to CDB.
53 static Bool_t fgAssertRunLoader; // Global flag specifying if AliRunLoader must be asserted during opening of the event-data.
54 static Bool_t fgAssertESD; // Global flag specifying if ESDEvent must be asserted during opening of the event-data.
56 static AliMagF* fgMagField; // Global pointer to magneti field.
59 static void SetCdbUri(const Text_t* cdb) { if (cdb) fgCdbUri = cdb; }
60 static void SetAssertElements(Bool_t assertRunloader, Bool_t assertEsd)
61 { fgAssertRunLoader = assertRunloader; fgAssertESD = assertEsd; }
64 AliEveEventManager(TString path, Int_t ev=0);
65 virtual ~AliEveEventManager();
69 virtual void GotoEvent(Int_t event);
70 virtual void NextEvent() { GotoEvent(fEventId + 1); }
71 virtual void PrevEvent() { GotoEvent(fEventId - 1); }
74 Int_t GetEventId() const { return fEventId; }
75 AliRunLoader* GetRunLoader() const { return fRunLoader; }
76 TTree* GetESDTree() const { return fESDTree; }
77 AliESDEvent* GetESD() const { return fESD; }
78 AliESDfriend* GetESDfriend() const { return fESDfriend; }
79 Bool_t GetESDfriendExists() const { return fESDfriendExists; }
80 virtual const Text_t* GetTitle() const { return fPath.Data(); }
82 static AliRunLoader* AssertRunLoader();
83 static AliESDEvent* AssertESD();
84 static AliESDfriend* AssertESDfriend();
86 static AliMagF* AssertMagField();
88 static TGeoManager* AssertGeometry();
90 ClassDef(AliEveEventManager, 1);
91 }; // endclass AliEveEventManager
93 extern AliEveEventManager* gAliEveEvent;