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_ELEMENTLIST_H
0014 #define DDEVE_ELEMENTLIST_H
0015 
0016 // Framework include files
0017 #include "DDEve/View.h"
0018 #include "DDEve/EveUserContextMenu.h"
0019 
0020 // ROOT include files
0021 #include "TEveElement.h"
0022 
0023 /// Namespace for the AIDA detector description toolkit
0024 namespace dd4hep {
0025 
0026   /// Local implementation with overrides of the TEveElementList
0027   /*
0028    *  I do not want to override the TEveElementList context menu....
0029    *  Hence a new class is needed.
0030    *  
0031    * \author  M.Frank
0032    * \version 1.0
0033    * \ingroup DD4HEP_EVE
0034    */
0035   class ElementList : public TEveElementList  {
0036   public:
0037     /// Default constructor
0038     ElementList();
0039     /// Initializing constructor
0040     ElementList(const std::string& name, const std::string& title="", bool doCol=false, bool doTrans=false);
0041     /// Copy constructor
0042     ElementList(const ElementList& l);
0043     /// Default destructor
0044     virtual ~ElementList();
0045     /// Clone object: Overload from TEveElementList
0046     virtual TEveElementList* CloneElement()  const  override;
0047     /// Root implementation macro
0048     ClassDefOverride(ElementList,0);
0049   };
0050 
0051   /// DDEve context menu class
0052   /*
0053    * \author  M.Frank
0054    * \version 1.0
0055    * \ingroup DD4HEP_EVE
0056    */
0057   class ElementListContextMenu : public EveUserContextMenu  {
0058   protected:
0059     /// Initializing constructor
0060     ElementListContextMenu(Display* m);
0061     /// Default destructor
0062     virtual ~ElementListContextMenu();
0063   public:
0064     /// Instantiator
0065     static ElementListContextMenu& install(Display* m);
0066     /// Root implementation macro
0067     ClassDef(ElementListContextMenu,0);
0068   };
0069 
0070 }      /* End namespace dd4hep       */
0071 #endif // DDEVE_ELEMENTLIST_H