Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:54:55

0001 #ifndef DDRoot_h
0002 #define DDRoot_h
0003 
0004 #include "DetectorDescription/Core/interface/DDLogicalPart.h"
0005 #include "DetectorDescription/Core/interface/Singleton.h"
0006 
0007 //!  Defines the root of the CompactView
0008 /**
0009   DDRoot will define the root of the geometrical hierarchy. The root also
0010   defines the base of the global coordinates.
0011   /todo provide possibility to have different roots for different parallel geometries
0012   /todo prohibit multiple calls for one geometry (the root can only be defined once!)
0013 */
0014 class DDRoot {
0015 public:
0016   DDRoot();
0017   ~DDRoot();
0018   //! set the root by using its qualified name DDName
0019   void set(const DDName& rootName);
0020 
0021   //! set DDLogicalPart root to the root
0022   void set(const DDLogicalPart& root);
0023 
0024   //! returns the root of the geometrical hierarchy
0025   DDLogicalPart root() const;
0026 
0027 private:
0028   DDLogicalPart root_;
0029 };
0030 
0031 typedef DDI::Singleton<DDRoot> DDRootDef;
0032 #endif