diff --git a/DDCore/src/gdml/GdmlPlugins.cpp b/DDCore/src/gdml/GdmlPlugins.cpp index 22a3c166fe521b9f11eb794c0e9bdc2cd35ed3c2..183d93526ac2bb8b472603a308fb7fb9ba82c759 100644 --- a/DDCore/src/gdml/GdmlPlugins.cpp +++ b/DDCore/src/gdml/GdmlPlugins.cpp @@ -229,4 +229,21 @@ static long gdml_extract(Detector& description, int argc, char** argv) { } DECLARE_APPLY(DD4hep_ROOTGDMLExtract,gdml_extract) +/// Factory for backwards compatibility +static long create_gdml_from_dd4hep(Detector& description, int argc, char** argv) { + if ( argc > 0 ) { + string output = argv[0]; + if ( output.substr(0,5) == "file:" ) output = output.substr(6); + const char* av[] = {"DD4hepGeometry2GDML", "-output", output.c_str(), "-path", "/world", 0}; + if ( 1 == gdml_extract(description, 5, (char**)av) ) { + printout(INFO,"Geometry2GDML","+++ Successfully extracted GDML to %s",output.c_str()); + return 1; + } + except("Geometry2GDML","+++ FAILED to extract GDML file %s.",output.c_str()); + } + except("Geometry2GDML","+++ No output file name given."); + return 0; +} +DECLARE_APPLY(DD4hepGeometry2GDML, create_gdml_from_dd4hep) + #endif diff --git a/examples/CLICSiD/CMakeLists.txt b/examples/CLICSiD/CMakeLists.txt index 9967ff104fb2ab5bf609c82d635dde47ea546536..d0a8c570b22084d59cc6f5476c57b34743d632b4 100644 --- a/examples/CLICSiD/CMakeLists.txt +++ b/examples/CLICSiD/CMakeLists.txt @@ -34,7 +34,13 @@ dd4hep_configure_scripts ( CLICSiD DEFAULT_SETUP WITH_TESTS ) #---Testing------------------------------------------------------------------------- # #----- Tests for CLICSid: here we simply require that at least 100 volumes have been converted -foreach ( typ description gdml vis ) +dd4hep_add_test_reg ( "CLICSiD_converter_gdml_LONGTEST" + COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_CLICSiD.sh" + EXEC_ARGS geoConverter -compact2gdml + -input file:${CLICSiDEx_INSTALL}/compact/compact.xml + -output file:CLICSiD.gdml + REGEX_PASS " Successfully extracted GDML to" ) +foreach ( typ description vis ) dd4hep_add_test_reg ( "CLICSiD_converter_${typ}_LONGTEST" COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_CLICSiD.sh" EXEC_ARGS geoConverter -compact2${typ} diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt index a44d06721fe3320d9727248d374e01bd27d308e4..20b79de658d013665675d4bc10d230a4b3a8c761 100644 --- a/examples/ClientTests/CMakeLists.txt +++ b/examples/ClientTests/CMakeLists.txt @@ -205,7 +205,13 @@ foreach (test Assemblies BoxTrafos IronCylinder LheD_tracker MagnetFields Materi REGEX_PASS "\\+\\+\\+ Checked [1-9][0-9]* materials in volume placements. 0 are BAD." ) # Test format conversions - foreach( type description gdml vis ) + dd4hep_add_test_reg( ClientTests_converter_gdml_${test} + COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh" + EXEC_ARGS geoConverter -compact2gdml + -input file:${ClientTestsEx_INSTALL}/compact/${test}.xml + -output file:${test}.gdml + REGEX_PASS " Successfully extracted GDML to" ) + foreach( type description vis ) dd4hep_add_test_reg( ClientTests_converter_${type}_${test} COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_ClientTests.sh" EXEC_ARGS geoConverter -compact2${type} diff --git a/examples/LHeD/CMakeLists.txt b/examples/LHeD/CMakeLists.txt index 17a775f42320f8a7f067158e209c76e39006a0fd..98813ff2564687bd3a53e48b6a004e583e86ffc1 100644 --- a/examples/LHeD/CMakeLists.txt +++ b/examples/LHeD/CMakeLists.txt @@ -38,7 +38,13 @@ dd4hep_configure_scripts(LHeD DEFAULT_SETUP WITH_TESTS) #---Testing------------------------------------------------------------------------- # #----- Tests for LHeD: here we simply require that at least 100 volumes have been converted -foreach ( typ description gdml vis ) +dd4hep_add_test_reg ( "LHeD_converter_gdml_LONGTEST" + COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_LHeD.sh" + EXEC_ARGS geoConverter -compact2gdml + -input file:${LHeDEx_INSTALL}/compact/compact.xml + -output file:LHeD.gdml + REGEX_PASS " Successfully extracted GDML to" ) +foreach ( typ description vis ) dd4hep_add_test_reg ( "LHeD_converter_${typ}_LONGTEST" COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_LHeD.sh" EXEC_ARGS geoConverter -compact2${typ} diff --git a/examples/SimpleDetector/CMakeLists.txt b/examples/SimpleDetector/CMakeLists.txt index d1efb9cb3641d2f418dfaa25931d5dc8a3e968a0..2e7387a421d9046ce4653203e659dc0f5d5eff18 100644 --- a/examples/SimpleDetector/CMakeLists.txt +++ b/examples/SimpleDetector/CMakeLists.txt @@ -27,7 +27,11 @@ dd4hep_configure_scripts(SimpleDetector DEFAULT_SETUP WITH_TESTS) #*** Testing ********************************************************************* foreach (test Simple_ILD) - foreach( type description gdml vis ) + dd4hep_add_test_reg( SimpleDetector_converter_gdml + COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_SimpleDetector.sh" + EXEC_ARGS geoConverter -compact2gdml -input file:${CMAKE_CURRENT_SOURCE_DIR}/compact/${test}.xml -output file:${test}.gdml + REGEX_PASS " Successfully extracted GDML to") + foreach( type description vis ) dd4hep_add_test_reg( SimpleDetector_converter_${type} COMMAND "${CMAKE_INSTALL_PREFIX}/bin/run_test_SimpleDetector.sh" EXEC_ARGS geoConverter -compact2${type} -input file:${CMAKE_CURRENT_SOURCE_DIR}/compact/${test}.xml -output file:${test}.${type}