diff --git a/DDG4/src/Geant4Converter.cpp b/DDG4/src/Geant4Converter.cpp index f97cbcfa85becf1bf0b7aff08bb0b497f2324f72..6a5029f0750df923c083558ca927b4ed2e0ac937 100644 --- a/DDG4/src/Geant4Converter.cpp +++ b/DDG4/src/Geant4Converter.cpp @@ -574,8 +574,10 @@ void* Geant4Converter::handleSolid(const string& name, const TGeoShape* shape) c solid = convertShape<TGeoTrap>(shape); else if (isa == TGeoArb8::Class()) solid = convertShape<TGeoArb8>(shape); +#if ROOT_VERSION_CODE > ROOT_VERSION(6,19,0) else if (isa == TGeoTessellated::Class()) solid = convertShape<TGeoTessellated>(shape); +#endif else if (isa == TGeoScaledShape::Class()) { TGeoScaledShape* sh = (TGeoScaledShape*) shape; const double* vals = sh->GetScale()->GetScale(); diff --git a/DDG4/src/Geant4ShapeConverter.cpp b/DDG4/src/Geant4ShapeConverter.cpp index 6b70e1eda0822f9a7e5605cf3a904669bea6171e..4ed65dcbc444accaeb281a60f6473b54538c7921 100644 --- a/DDG4/src/Geant4ShapeConverter.cpp +++ b/DDG4/src/Geant4ShapeConverter.cpp @@ -43,12 +43,6 @@ #include "G4GenericTrap.hh" #include "G4ExtrudedSolid.hh" #include "G4EllipticalTube.hh" -#include "G4TriangularFacet.hh" -#include "G4QuadrangularFacet.hh" - -#if ROOT_VERSION_CODE > ROOT_VERSION(6,19,0) -#include "G4TessellatedSolid.hh" -#endif // C/C++ include files @@ -233,8 +227,19 @@ namespace dd4hep { vertices.emplace_back(vtx_xy[0] * CM_2_MM, vtx_xy[1] * CM_2_MM); return new G4GenericTrap(sh->GetName(), sh->GetDz() * CM_2_MM, vertices); } + } // End namespace sim +} // End namespace dd4hep #if ROOT_VERSION_CODE > ROOT_VERSION(6,19,0) +#include "G4TessellatedSolid.hh" +#include "G4TriangularFacet.hh" +#include "G4QuadrangularFacet.hh" + +/// Namespace for the AIDA detector description toolkit +namespace dd4hep { + /// Namespace for the Geant4 based simulation part of the AIDA detector description toolkit + namespace sim { + template <> G4VSolid* convertShape<TGeoTessellated>(const TGeoShape* shape) { TGeoTessellated* sh = (TGeoTessellated*) shape; G4TessellatedSolid* g4 = new G4TessellatedSolid(sh->GetName());