]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/EveBase/AliEveEventManager.h
First version of the new GUI in development. You can enable this UI with "alieve...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveEventManager.h
index d7f9328c0de6ef1c7abd67729e0dff0e89cb6c4e..50e1288373f26693e7a6f89a7312da52b65eda80 100644 (file)
 #include <TQObject.h>
 #include <TObjArray.h>
 
+#include <AliEventInfo.h>
+
 class AliEveMacroExecutor;
-class AliEveEventSelector;
+class AliEveEventSelector; 
 
 class AliRunLoader;
 class AliESDEvent;
@@ -24,11 +26,15 @@ class AliAODEvent;
 class AliRawReader;
 
 class AliGRPObject;
+class AliRecoParam;
 class AliMagF;
 
+class TEveElement;
 class TFile;
 class TTree;
 class TGeoManager;
+class TString;
+class TMap;
 
 //==============================================================================
 //
@@ -50,7 +56,7 @@ public:
   static void SetCdbUri     (const TString& cdb);
   static void SetAssertElements(Bool_t assertRunloader, Bool_t assertEsd,
                                Bool_t assertAod, Bool_t assertRaw);
-
+  static void SearchRawForCentralReconstruction();
 
   AliEveEventManager(const TString& name="Event");
   AliEveEventManager(const TString& name, const TString& path, Int_t ev=0);
@@ -61,8 +67,9 @@ public:
   virtual Int_t GetMaxEventId(Bool_t refreshESD=kFALSE) const;
   virtual void  GotoEvent(Int_t event);
   virtual void  NextEvent();
-  virtual void  PrevEvent();
+  virtual void  PrevEvent(); 
   virtual void  Close();
+  void Timeout(); // * SIGNAL*
 
   Int_t         GetEventId()         const { return fEventId; }
   AliRunLoader* GetRunLoader()       const { return fRunLoader; }
@@ -78,6 +85,9 @@ public:
   AliEveEventSelector* GetEventSelector() const { return fPEventSelector; }
   TString       GetEventInfoHorizontal() const;
   TString       GetEventInfoVertical()   const;
+  const AliEventInfo*  GetEventInfo();
+
+  static Int_t  CurrentEventId();
 
   static Bool_t HasRunLoader();
   static Bool_t HasESD();
@@ -93,6 +103,7 @@ public:
 
   static AliMagF*      AssertMagField();
   static TGeoManager*  AssertGeometry();
+  static AliRecoParam* AssertRecoParams();
 
   static AliEveEventManager* AddDependentManager(const TString& name, const TString& path);
   static AliEveEventManager* GetDependentManager(const TString& name);
@@ -114,6 +125,11 @@ public:
   Bool_t        AreEventFilesOpened()    const { return fIsOpen;       }
   Bool_t        IsEventAvailable()       const { return fHasEvent;     }
   Bool_t        IsUnderExternalControl() const { return fExternalCtrl; }
+  
+  Bool_t        InsertGlobal(const TString& tag, TEveElement* model);
+  Bool_t        InsertGlobal(const TString& tag, TEveElement* model,
+                             Bool_t replace, Bool_t update);
+  TEveElement*  FindGlobal(const TString& tag);
 
   virtual void  AfterNewEventLoaded();
   void          NewEventDataLoaded();  // *SIGNAL*
@@ -137,7 +153,8 @@ protected:
   AliAODEvent  *fAOD;                  // AODEvent object.
 
   AliRawReader *fRawReader;             // Raw-data reader.
-
+  AliEventInfo fEventInfo;             // Current Event Info
+  
   Bool_t        fAutoLoad;              // Automatic loading of events (online)
   Float_t       fAutoLoadTime;          // Auto-load time in seconds
   TTimer       *fAutoLoadTimer;         // Timer for automatic event loading
@@ -146,6 +163,10 @@ protected:
   Bool_t        fHasEvent;              // Is an event available.
   Bool_t        fExternalCtrl;          // Are we under external event-loop.
 
+  TMap*         fGlobal;
+  Bool_t        fGlobalReplace;         // Are global replace
+  Bool_t        fGlobalUpdate;          // Are global updates
+
   AliEveMacroExecutor *fExecutor;       // Executor for std macros
 
   TEveElementList     *fTransients;     // Container for additional transient (per event) elements.
@@ -155,7 +176,9 @@ protected:
 
   TList        *fSubManagers;           // Dependent event-managers, used for event embedding.
 
+  static TString  fgGAlice;        // galice.root file
   static TString  fgESDFileName;        // Name by which to open ESD.
+  static TString  fgESDfriendsFileName;
   static TString  fgAODFileName;        // Name by which to open AOD.
   static TString  fgRawFileName;        // Name by which to open raw-data file.
   static TString  fgCdbUri;            // Global URI to CDB.
@@ -166,8 +189,11 @@ protected:
 
   static TList   *fgAODfriends;         // Global list of AOD friend names to be attached during opening of the event-data (empty by default).
 
+  static Bool_t   fgRawFromStandardLoc; // Global flag to enable looking for raw data in ../../../raw/, as it is stored for central reco.
+
   static Bool_t        fgGRPLoaded;     // Global run parameters loaded?
   static AliMagF      *fgMagField;      // Global pointer to magnetic field.
+  static AliRecoParam* fgRecoParam;
   static Bool_t        fgUniformField;  // Track with uniform field.
 
 private:
@@ -179,6 +205,7 @@ private:
   void StopAutoLoadTimer();
 
   static Bool_t InitGRP();
+  static Bool_t InitRecoParam();
 
   Bool_t fAutoLoadTimerRunning; // State of auto-load timer.