Added "Save Viewers" button and functionality to alihlteve
authorslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Apr 2010 10:02:02 +0000 (10:02 +0000)
committerslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 8 Apr 2010 10:02:02 +0000 (10:02 +0000)
EVE/EveHLT/AliEveHOMERManager.cxx
EVE/EveHLT/AliEveHOMERManager.h
EVE/EveHLT/AliEveHOMERManagerEditor.cxx
EVE/EveHLT/AliEveHOMERManagerEditor.h
EVE/hlt-macros/od.C

index f355e34..36955d1 100644 (file)
@@ -24,6 +24,8 @@
 #include "TEveScene.h"
 #include "TEveProjectionManager.h"
 #include "TEveBrowser.h"
+#include "TGLViewer.h"
+#include "TEveViewer.h"
 
 #include "AliEveHOMERManager.h"
 #include "AliHLTHOMERBlockDesc.h"
@@ -65,6 +67,8 @@ TEveElementList("Homer Manager"),
   fRhoZManager(NULL),
   fRPhiEventScene(NULL),
   fRhoZEventScene(NULL),
+  fRhoZViewer(NULL),
+  fRPhiViewer(NULL),
   fTimer(NULL),
 //  fSourceListTimer(NULL),
   fPhosElement(NULL), 
@@ -425,7 +429,7 @@ void  AliEveHOMERManager::UpdateDisplay() {
 void AliEveHOMERManager::ProcessBlock(AliHLTHOMERBlockDesc * block) {
   //See header file for documentation
   
-#if 1//DEBUG
+#if 0//DEBUG
   printf( "------------------- xxxxxxxxxxxxxxx ----------------------\n");
   printf( "Detector           : %s\n", block->GetDetector().Data() );
   printf( "Datatype           : %s\n", block->GetDataType().Data() );
@@ -530,6 +534,15 @@ void AliEveHOMERManager::ResetDisplay () {
 }
 
 
+void AliEveHOMERManager::PrintScreens() {
+  //See header file for documentation
+
+  fEveManager->GetDefaultGLViewer()->SavePicture("3D.gif");
+  fRhoZViewer->GetGLViewer()->SavePicture("RhoZ.gif");
+  fRPhiViewer->GetGLViewer()->SavePicture("RPhi.gif");
+
+}
+
 void AliEveHOMERManager::StartLoop() {
   //See header file for documentation
   //fTimer->SetCommand("NextEvent()", "AliEveHOMERManager", this);
index 5a06608..71b29d0 100644 (file)
@@ -31,6 +31,7 @@ class TEveManager;
 class TEveScene;
 class TEveProjectionManager;
 class TTimer;
+class TEveViewer;
 
 class AliHLTEvePhos;
 class AliHLTEveEmcal;
@@ -100,13 +101,18 @@ public:
   /** Set the projection scenes and their managers */
   void SetRPhiManager (TEveProjectionManager * mgr) {fRPhiManager = mgr;}
   void SetRPhiEventScene (TEveScene * scene ) {fRPhiEventScene = scene;}
+  void SetRPhiViewer(TEveViewer * viewer ) {fRPhiViewer = viewer;}
   void SetRhoZManager(TEveProjectionManager * mgr) {fRhoZManager = mgr;}
   void SetRhoZEventScene(TEveScene * scene ) {fRhoZEventScene = scene;}
-  
+  void SetRhoZViewer(TEveViewer * viewer ) {fRhoZViewer = viewer;}
 
   /** Start and stop the automatic event loop */
   void StartLoop();
   void StopLoop();
+
+  /** Print the screens to a file **/
+  void PrintScreens();
+
  
 private:
 
@@ -137,6 +143,9 @@ private:
   TEveProjectionManager * fRhoZManager;   //The Rho- Z projection sene manager
   TEveScene * fRPhiEventScene;            //The R - Phi projection scene
   TEveScene * fRhoZEventScene;            //The Rho - Z projection sene
+  TEveViewer * fRPhiViewer;
+  TEveViewer * fRhoZViewer;
+  
 
 
   TTimer * fTimer;                   //Timer for event loop
index 6b69823..24be889 100644 (file)
@@ -41,6 +41,7 @@ TGedFrame(p, width, height, options | kVerticalFrame, back),
   fButtonEventLoopText(0),
 //  fBoxEventLoopSpeed(0),
   fButtonEventLoop(0),
+  fButtonPrintScreens(NULL),
  fEventLoopStarted(kFALSE) 
 {
   
@@ -86,6 +87,11 @@ TGedFrame(p, width, height, options | kVerticalFrame, back),
   AddFrame(fButtonEventLoopText); //, new TGLayoutHints(...));
   fButtonEventLoopText->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "EventLoop()");
 
+
+  fButtonPrintScreens = new TGTextButton(this, "  Save Viewers  ");
+  AddFrame(fButtonPrintScreens); //, new TGLayoutHints(...));
+  fButtonPrintScreens->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "PrintScreens()");
+
   fButtonEventLoop = new TGPictureButton(this, gClient->GetPicture("$ALICE_ROOT/EVE/hlt-macros/HLT-logo.png"));
   AddFrame(fButtonEventLoop); //, new TGLayoutHints(...));
   fButtonEventLoop->Connect("Clicked()", "AliEveHOMERManagerEditor", this, "EventLoop()");
@@ -117,6 +123,12 @@ void AliEveHOMERManagerEditor::WriteBlockListToFile() {
 
 }
 
+
+void AliEveHOMERManagerEditor::PrintScreens() {
+  //Print screens
+  fM->PrintScreens();
+}
+
 void AliEveHOMERManagerEditor::NavigateFwd() {
   // navigate forward
   
index 16bc8a5..bb0cb4c 100644 (file)
@@ -38,6 +38,7 @@ public:
   void NavigateFwd();
   void SetTriggerString(int id);
   void WriteBlockListToFile();
+  void PrintScreens();
 protected:
 
   AliEveHOMERManager  *fM; // Model object.
@@ -47,6 +48,7 @@ protected:
   TGTextButton     *fButtonNextEvent; // Button to call next Even
   TGTextButton     *fButtonNavigateBack; // Button to navigate back
   TGTextButton     *fButtonNavigateFwd;  // Button to navigate fwd
+  TGTextButton     *fButtonPrintScreens;  // Button to print viewers
   TGComboBox       *fBoxTriggerSelector; // Drop down menu to select trigger criteria.
   TGTextButton     *fButtonEventLoopText; //Text button to start / stop event loop.
   //TGComboBox       *fBoxEventLoopSpeed; // Drop down menu to set the speed of the loop.
index 1daf14f..20e7db6 100644 (file)
@@ -208,8 +208,10 @@ void od ( Bool_t showBarrel = kTRUE, Bool_t showMuon = kFALSE ) {
   gHomerManager->SetGeoManager(gGeoManager);
   gHomerManager->SetRPhiManager(gRPhiMgr);
   gHomerManager->SetRPhiEventScene(gRPhiEventScene);
+  gHomerManager->SetRPhiViewer(gRPhiView);
   gHomerManager->SetRhoZManager(gRhoZMgr);
   gHomerManager->SetRhoZEventScene(gRhoZEventScene);
+  gHomerManager->SetRhoZViewer(gRhoZView);
   gHomerManager->SetBarrelFlag(showBarrel);
   gHomerManager->SetMuonFlag(showMuon);
 
@@ -495,6 +497,8 @@ Int_t updateDisplay() {
 
 
 
+
+
 // -----------------------------------------------------------------
 Int_t processROOTTOBJ(AliHLTHOMERBlockDesc* block, TEveText* /*et*/) {
   
@@ -799,7 +803,7 @@ Int_t processV0Histograms(AliHLTHOMERBlockDesc* block, TCanvas * canvas) {
 
 
 
-//*-------------------------------------------------------------------------------------- 
+//*****************************************************************************
 Int_t processTRDCalibHistograms(AliHLTHOMERBlockDesc* block, TCanvas * canvas) {
   Int_t iResult = 0;
 
@@ -836,6 +840,7 @@ Int_t processTRDCalibHistograms(AliHLTHOMERBlockDesc* block, TCanvas * canvas) {
 
  return iResult;
 }
+
 //****************************************************************************
 void writeToFile(){
 
@@ -938,31 +943,3 @@ Int_t processTRDBlock (AliHLTHOMERBlockDesc * block) {
 
         
 
-
-void processHLTBlock(AliHLTHOMERBlockDesc * block) {
-
-  if ( ! block->GetDataType().CompareTo("ALIESDV0") ) {
-    if(!gTPCTrack){
-      gTPCTrack = new TEveTrackList("ESD Tracks");
-      gTPCTrack->SetMainColor(6);
-      gEve->AddElement(gTPCTrack);
-    }
-    
-    processEsdTracks(block, gTPCTrack);
-    gTPCTrack->ElementChanged();
-  } 
-  
-  else if ( ! block->GetDataType().CompareTo("ROOTTOBJ") ) {
-    processROOTTOBJ( block, gHLTText );
-  } 
-
-  else if ( ! block->GetDataType().CompareTo("HLTRDLST") ) {
-    processHLTRDLST( block );
-  } 
-
-  else if ( !block->GetDataType().CompareTo("ROOTHIST") ) {      
-    processPrimVertexHistograms( block , gPrimVertexCanvas);
-    gPrimVertexCanvas->Update();    
-  }
-
-}