R__LOAD_LIBRARY(libDDCore.so) R__LOAD_LIBRARY(libActsPluginDD4hep.so) R__LOAD_LIBRARY(libDDG4.so) R__LOAD_LIBRARY(libDDG4IO.so) #include "DD4hep/Detector.h" #include "DD4hep/DetElement.h" #include "DD4hep/Objects.h" #include "DD4hep/Detector.h" #include "DDG4/Geant4Data.h" #include "DDRec/CellIDPositionConverter.h" #include "DDRec/SurfaceManager.h" #include "DDRec/Surface.h" #include "TCanvas.h" #include "TChain.h" #include "Acts/Geometry/TrackingGeometry.hpp" #include "Acts/Geometry/TrackingVolume.hpp" #include "Acts/Plugins/DD4hep/ConvertDD4hepDetector.hpp" /** Example loading ACTs. * * */ void test_ACTS(const char* compact = "athena.xml"){ using namespace ROOT::Math; // ------------------------- // Get the DD4hep instance // Load the compact XML file // Initialize the position converter tool dd4hep::Detector& detector = dd4hep::Detector::getInstance(); detector.fromCompact(compact); dd4hep::rec::CellIDPositionConverter cellid_converter(detector); //std::unique_ptr<const Acts::TrackingGeometry> auto acts_tracking_geometry = Acts::convertDD4hepDetector (detector.world(),Acts::Logging::Level::VERBOSE); if(acts_tracking_geometry) { if(acts_tracking_geometry->highestTrackingVolume()) { std::cout << " volume name \n "; std::cout << acts_tracking_geometry->highestTrackingVolume()->volumeName() << std::endl; } else { std::cout << "derp\n"; } } }