Back to home page

EIC code displayed by LXR

 
 

    


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

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_EVEUSERCONTEXTMENU_H
0014 #define DDEVE_EVEUSERCONTEXTMENU_H
0015 
0016 // ROOT include files
0017 #include "TClass.h"
0018 
0019 // Forward declarations
0020 class TEveManager;
0021 
0022 /// Namespace for the AIDA detector description toolkit
0023 namespace dd4hep {
0024 
0025   // Forward declarations
0026   class Display;
0027 
0028   /// class EveUserContextMenu  EveUserContextMenu.h DDEve/EveUserContextMenu.h
0029   /*
0030    * \author  M.Frank
0031    * \version 1.0
0032    * \ingroup DD4HEP_EVE
0033    */
0034   class EveUserContextMenu  {
0035   protected:
0036     Display* m_display;
0037   public:
0038     /// Initializing constructor
0039     EveUserContextMenu(Display* m);
0040     /// Default destructor
0041     virtual ~EveUserContextMenu();    
0042     /// EVE display
0043     Display& display() const  { return *m_display; }
0044     /// EVE manager
0045     TEveManager& manager() const;
0046     /// Set everything (in-) visible
0047     void VisibleAll(bool yes_no, TObject* target, void* user_param);
0048     /// Set self (in-) visible
0049     void VisibleSelf(bool yes_no, TObject* target, void* user_param);
0050     /// Set the children (in-) visible
0051     void VisibleChildren(bool yes_no, TObject* target, void* user_param);
0052 
0053     /// Show all
0054     void ShowAll(TObject* target, void* user_param);
0055     /// Show all
0056     void HideAll(TObject* target, void* user_param);
0057     /// Show shape self
0058     void ShowSelf(TObject* target, void* user_param);
0059     /// Show shape self
0060     void HideSelf(TObject* target, void* user_param);
0061     /// Show shape children
0062     void ShowChildren(TObject* target, void* user_param);
0063     /// Show shape children
0064     void HideChildren(TObject* target, void* user_param);
0065     /// Load next level children and add them to all scenes
0066     void LoadChildren(TObject* target, void* user_param);
0067     /// Load all children and add them to all scenes
0068     void DeepLoadChildren(TObject* target, void* user_param);
0069 
0070     /// Install the geometry context menu
0071     void InstallGeometryContextMenu(TClass* cl);
0072 
0073     /// Root implementation macro
0074     ClassDef(EveUserContextMenu,0);
0075   };
0076 }      /* End namespace dd4hep              */
0077 #endif // DDEVE_EVEUSERCONTEXTMENU_H