diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt index 4078194af5f33be7f230de5afc97b16e5ee2be59..8c08055ae22a9015534a8dc4322da1dd95274aec 100644 --- a/DDCore/CMakeLists.txt +++ b/DDCore/CMakeLists.txt @@ -31,6 +31,7 @@ dd4hep_add_dictionary( G__DD4hep include/XML/tinystring.h LINKDEF include/ROOT/LinkDef.h USES DDParsers ${XML_LIBRARIES} + DEFINITIONS DD4HEP_MUST_USE_DETECTORIMP_H ) dd4hep_add_dictionary( G__DD4hepGeo diff --git a/DDCore/include/DD4hep/DetectorImp.h b/DDCore/include/DD4hep/DetectorImp.h index 441f30a6046ff5d0001e2acf10ce7621dbc3bf8c..c0c462e94023036cddcc9e241383313f07554d9f 100644 --- a/DDCore/include/DD4hep/DetectorImp.h +++ b/DDCore/include/DD4hep/DetectorImp.h @@ -10,10 +10,23 @@ // Author : M.Frank // //========================================================================== - #ifndef DD4HEP_DetectorGEOIMP_H #define DD4HEP_DetectorGEOIMP_H +//========================================================================== +// +// Please note: +// +// This header file is purely DD4hep internal. It should never be used +// independently outside DetectorImp.cpp and certain DD4hep specific plugins. +// This header files is only publicly present to satisfy the ROOT interpreter +// when loading precompiled dictionary libraries. +// +//========================================================================== +#if !defined(DD4HEP_MUST_USE_DETECTORIMP_H) && !defined(G__ROOT) +#error "DetectorImp.h is a dd4hep internal header. Never use it in a depending compilation unit!" +#endif + // Framework include files #include "DD4hep/DetectorData.h" #include "DD4hep/DetectorLoad.h" diff --git a/DDCore/src/DetectorImp.cpp b/DDCore/src/DetectorImp.cpp index f89d06c3916b32ba1d4f3e8dfcc8949b2952bf36..663782df7f264cd6450d588768bdbd4563b5f7ae 100644 --- a/DDCore/src/DetectorImp.cpp +++ b/DDCore/src/DetectorImp.cpp @@ -11,6 +11,8 @@ // //========================================================================== +#define DD4HEP_MUST_USE_DETECTORIMP_H 1 + // Framework include files #include "DD4hep/Plugins.h" #include "DD4hep/Printout.h" diff --git a/DDCore/src/plugins/StandardPlugins.cpp b/DDCore/src/plugins/StandardPlugins.cpp index eb81f8cbebf2a398ee8a165906e8eb79ee991db2..4c8d3aa4cf60ed860892523999de9af893b77779 100644 --- a/DDCore/src/plugins/StandardPlugins.cpp +++ b/DDCore/src/plugins/StandardPlugins.cpp @@ -12,6 +12,7 @@ //========================================================================== // Framework include files +#define DD4HEP_MUST_USE_DETECTORIMP_H #include "DD4hep/Detector.h" #include "DD4hep/DetectorImp.h" #include "DD4hep/Memory.h"