Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:21

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef DDEVE_DD4HEPMENU_H
0014 #define DDEVE_DD4HEPMENU_H
0015 
0016 // Framework include files
0017 #include "DDEve/Display.h"
0018 #include "DDEve/PopupMenu.h"
0019 
0020 // Forward declarations
0021 class TGMenuBar;
0022 class TGMenuEntry;
0023 
0024 /// Namespace for the AIDA detector description toolkit
0025 namespace dd4hep {
0026 
0027   // Forward declarations
0028   class View;
0029   class EventControl;
0030 
0031   /// dd4hep Menu for the ROOT browser
0032   /*
0033    * \author  M.Frank
0034    * \version 1.0
0035    * \ingroup DD4HEP_EVE
0036    */
0037   class DD4hepMenu : public PopupMenu {
0038   public:
0039 
0040   protected:
0041     /// Reference to display manager
0042     Display* m_display;
0043     EventControl* m_evtCtrl;
0044   public:
0045     /// Standard constructor
0046     DD4hepMenu(Display* eve);
0047     /// Default destructor
0048     virtual ~DD4hepMenu();
0049 
0050     /// Add the menu to the menu bar
0051     virtual void Build(TGMenuBar* menuBar, int hints=kLHintsNormal)  override;
0052     /// Callback when loading the configuration
0053     void OnLoadXML(TGMenuEntry* entry, void* ptr);
0054     /// Callback when loading the configuration
0055     void OnLoadRootGeometry(TGMenuEntry* entry, void* ptr);
0056     /// Callback to show the event I/O panel
0057     void OnCreateEventIO(TGMenuEntry* entry, void* ptr);
0058     /// Callback when loading a new event data file
0059     void OnOpenEventData(TGMenuEntry* entry, void* ptr);
0060     /// Callback when loading the next event
0061     void OnNextEvent(TGMenuEntry* entry, void* ptr);
0062     /// Callback when loading the previous event
0063     void OnPreviousEvent(TGMenuEntry* entry, void* ptr);
0064     /// Callback when exiting the display
0065     void OnExit(TGMenuEntry* entry, void* ptr);
0066 
0067     /// Callback when the geometry was loaded
0068     void OnGeometryLoaded();
0069     /// ROOT implementation macro
0070     ClassDefOverride(DD4hepMenu,0);
0071   };
0072 
0073 }      /* End namespace dd4hep      */
0074 #endif // DDEVE_DD4HEPMENU_H
0075