From bf1911d56f460b9c1565b6acbe1f34f45f74fa20 Mon Sep 17 00:00:00 2001 From: slindal Date: Thu, 8 Apr 2010 10:02:02 +0000 Subject: [PATCH] Added "Save Viewers" button and functionality to alihlteve --- EVE/EveHLT/AliEveHOMERManager.cxx | 15 ++++++++++- EVE/EveHLT/AliEveHOMERManager.h | 11 +++++++- EVE/EveHLT/AliEveHOMERManagerEditor.cxx | 12 +++++++++ EVE/EveHLT/AliEveHOMERManagerEditor.h | 2 ++ EVE/hlt-macros/od.C | 35 +++++-------------------- 5 files changed, 44 insertions(+), 31 deletions(-) diff --git a/EVE/EveHLT/AliEveHOMERManager.cxx b/EVE/EveHLT/AliEveHOMERManager.cxx index f355e34c7f0..36955d1c137 100644 --- a/EVE/EveHLT/AliEveHOMERManager.cxx +++ b/EVE/EveHLT/AliEveHOMERManager.cxx @@ -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); diff --git a/EVE/EveHLT/AliEveHOMERManager.h b/EVE/EveHLT/AliEveHOMERManager.h index 5a066086685..71b29d0ba28 100644 --- a/EVE/EveHLT/AliEveHOMERManager.h +++ b/EVE/EveHLT/AliEveHOMERManager.h @@ -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 diff --git a/EVE/EveHLT/AliEveHOMERManagerEditor.cxx b/EVE/EveHLT/AliEveHOMERManagerEditor.cxx index 6b698234c57..24be889aa8f 100644 --- a/EVE/EveHLT/AliEveHOMERManagerEditor.cxx +++ b/EVE/EveHLT/AliEveHOMERManagerEditor.cxx @@ -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 diff --git a/EVE/EveHLT/AliEveHOMERManagerEditor.h b/EVE/EveHLT/AliEveHOMERManagerEditor.h index 16bc8a58215..bb0cb4c8ab0 100644 --- a/EVE/EveHLT/AliEveHOMERManagerEditor.h +++ b/EVE/EveHLT/AliEveHOMERManagerEditor.h @@ -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. diff --git a/EVE/hlt-macros/od.C b/EVE/hlt-macros/od.C index 1daf14f7751..20e7db67dd5 100644 --- a/EVE/hlt-macros/od.C +++ b/EVE/hlt-macros/od.C @@ -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(); - } - -} -- 2.31.1