DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ViewMenu.h
Go to the documentation of this file.
1 // $Id: $
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 #ifndef DD4HEP_DDEVE_VIEWMENU_H
15 #define DD4HEP_DDEVE_VIEWMENU_H
16 
17 // Framework include files
18 #include "DDEve/Display.h"
19 #include "DDEve/PopupMenu.h"
20 
21 // Forward declarations
22 class TGMenuBar;
23 class TGMenuEntry;
24 
26 namespace DD4hep {
27 
28  // Forward declarations
29  class View;
30 
32  /*
33  * \author M.Frank
34  * \version 1.0
35  * \ingroup DD4HEP_EVE
36  */
37  class ViewMenu : public PopupMenu {
38  public:
39 
40  protected:
44  std::string m_title;
45  public:
47  ViewMenu(Display* eve, const std::string& title);
49  virtual ~ViewMenu();
50 
52  virtual void Build(TGMenuBar* bar, int hints=kLHintsNormal);
53 
55  void BuildView(View *view) const;
57  void CreateView(TGMenuEntry* e, void* ud);
58 
60  View* CreateView(const std::string& type,const std::string& title);
62  View* CreateView3D(const std::string& title);
64  View* CreateRhoZProjection(const std::string& title);
66  View* CreateRhoPhiProjection(const std::string& title);
67 
69  ClassDef(ViewMenu,0);
70  };
71 
72 } /* End namespace DD4hep */
73 
74 
75 #endif /* DD4HEP_DDEVE_VIEWMENU_H */
76 
ClassDef(ViewMenu, 0)
ROOT implementation macro.
void BuildView(View *view) const
Import Geometry data and build the view.
Definition: ViewMenu.cpp:98
View * CreateRhoPhiProjection(const std::string &title)
Specialization: Create a new R-Phi view.
Definition: ViewMenu.cpp:93
virtual void Build(TGMenuBar *bar, int hints=kLHintsNormal)
Add the menu to the menu bar.
Definition: ViewMenu.cpp:55
return e
Definition: Volumes.cpp:297
Display * m_display
Reference to display manager.
Definition: ViewMenu.h:42
void CreateView(TGMenuEntry *e, void *ud)
Menu callback: Create a generic view using the user data.
Definition: ViewMenu.cpp:70
class View View.h DDEve/View.h
Definition: View.h:46
class PopupMenu PopupMenu.h DDEve/PopupMenu.h
Definition: PopupMenu.h:37
View * CreateView3D(const std::string &title)
Specialization: Create a new 3D view.
Definition: ViewMenu.cpp:83
ViewMenu(Display *eve, const std::string &title)
Standard constructor.
static const double bar
Definition: DD4hepUnits.h:180
virtual ~ViewMenu()
Default destructor.
Definition: ViewMenu.cpp:50
View * CreateRhoZProjection(const std::string &title)
Specialization: Create a new R-Z view.
Definition: ViewMenu.cpp:88
std::string m_title
Menu title.
Definition: ViewMenu.h:44
class ViewMenu ViewMenu.h DDEve/ViewMenu.h
Definition: ViewMenu.h:37
The main class of the DDEve display.
Definition: Display.h:57