diff --git a/CMakeLists.txt b/CMakeLists.txt index 31d0ca3c160d69676892f6686f42c85eb813a5e2..287eacde9f4294c43eeff34d6573f35192583cff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,14 @@ SET(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror") find_package(DD4hep REQUIRED COMPONENTS DDCore DDG4) -find_package(Acts REQUIRED COMPONENTS Core PluginTGeo PluginDD4hep ) +find_package(ActsDD4hep) +if(ActsDD4hep_FOUND) + add_compile_definitions(USE_ACTSDD4HEP) + set(ActsDD4hep ActsDD4hep::ActsDD4hep) +else() + find_package(Acts REQUIRED COMPONENTS Core PluginIdentification PluginTGeo PluginDD4hep) + set(ActsDD4hep ActsCore ActsPluginDD4hep) +endif() #----------------------------------------------------------------------------------- set(a_lib_name IP6) @@ -41,10 +48,10 @@ dd4hep_add_plugin(${a_lib_name} src/ZeroDegreeCalorimeterEcalWSciFi_geo.cpp src/ZeroDegreeCalorimeterEcal_geo.cpp src/ZeroDegreeCalorimeterSampling_geo.cpp - USES ActsCore ActsPluginDD4hep ROOT::Core ROOT::Gdml + USES ${ActsDD4hep} ROOT::Core ROOT::Gdml ) target_link_libraries(${a_lib_name} - PUBLIC DD4hep::DDCore DD4hep::DDRec DD4hep::DDG4 + PUBLIC DD4hep::DDCore DD4hep::DDRec DD4hep::DDG4 ) #----------------------------------------------------------------------------------- diff --git a/src/B0Preshower_geo.cpp b/src/B0Preshower_geo.cpp index 1cfb91cb664d2bc0ecd84f5639f970b960b20a61..d918658c61c04d8940bb03d43c095e6d18767810 100644 --- a/src/B0Preshower_geo.cpp +++ b/src/B0Preshower_geo.cpp @@ -1,7 +1,11 @@ #include <map> #include "DD4hep/DetFactoryHelper.h" + +#if defined(USE_ACTSDD4HEP) +#include "ActsDD4hep/ActsExtension.hpp" +#else #include "Acts/Plugins/DD4hep/ActsExtension.hpp" -#include "Acts/Definitions/Units.hpp" +#endif using namespace std; using namespace dd4hep; diff --git a/src/B0Tracker_geo.cpp b/src/B0Tracker_geo.cpp index 394408acd4a488b950d89011570f207429154d22..e44b4170441f44fe5f678b6e1c04d0f4fa7bd2f6 100644 --- a/src/B0Tracker_geo.cpp +++ b/src/B0Tracker_geo.cpp @@ -7,10 +7,11 @@ #include "XML/Layering.h" #include "XML/Utilities.h" - +#if defined(USE_ACTSDD4HEP) +#include "ActsDD4hep/ActsExtension.hpp" +#else #include "Acts/Plugins/DD4hep/ActsExtension.hpp" -#include "Acts/Definitions/Units.hpp" - +#endif using namespace std; using namespace dd4hep; using namespace dd4hep::rec; diff --git a/src/IP6BeamPipe.cpp b/src/IP6BeamPipe.cpp index b88a8840445db9e5b71be1c6d39b0be9ff94253c..ebcf4810b4ddf23ae4d4a81d1ef4ef2af6437ee4 100644 --- a/src/IP6BeamPipe.cpp +++ b/src/IP6BeamPipe.cpp @@ -11,8 +11,11 @@ #include "TMath.h" #include <XML/Helper.h> -#include "Acts/Definitions/Units.hpp" +#if defined(USE_ACTSDD4HEP) +#include "ActsDD4hep/ActsExtension.hpp" +#else #include "Acts/Plugins/DD4hep/ActsExtension.hpp" +#endif using namespace std; using namespace dd4hep; @@ -61,10 +64,10 @@ static Ref_t create_detector(Detector& det, xml_h e, SensitiveDetector /* sens * // Add extension for the beampipe //Acts::ActsExtension* sdExtension = new Acts::ActsExtension(); //sdExtension->addType("beampipe", "layer"); - //sdExtension->addValue(0.001 * Acts::UnitConstants::mm, "r_min", "envelope"); - //sdExtension->addValue(0.001 * Acts::UnitConstants::mm, "r_max", "envelope"); - //sdExtension->addValue(0.001 * Acts::UnitConstants::mm, "z_min", "envelope"); - //sdExtension->addValue(0.001 * Acts::UnitConstants::mm, "z_max", "envelope"); + //sdExtension->addValue(0.001, "r_min", "envelope"); // Acts::UnitConstants::mm == 1 + //sdExtension->addValue(0.001, "r_max", "envelope"); // Acts::UnitConstants::mm == 1 + //sdExtension->addValue(0.001, "z_min", "envelope"); // Acts::UnitConstants::mm == 1 + //sdExtension->addValue(0.001, "z_max", "envelope"); // Acts::UnitConstants::mm == 1 //sdet.addExtension<Acts::ActsExtension>(sdExtension); @@ -82,10 +85,10 @@ static Ref_t create_detector(Detector& det, xml_h e, SensitiveDetector /* sens * //beamPipeExtension->addType("beampipe", "beampipe"); //beamPipeExtension->addType("passive cylinder", "layer"); beamPipeExtension->addType("beampipe", "layer"); - beamPipeExtension->addValue(0.001 * Acts::UnitConstants::mm, "r_min", "envelope"); - beamPipeExtension->addValue(0.001 * Acts::UnitConstants::mm, "r_max", "envelope"); - beamPipeExtension->addValue(0.001 * Acts::UnitConstants::mm, "z_min", "envelope"); - beamPipeExtension->addValue(0.001 * Acts::UnitConstants::mm, "z_max", "envelope"); + beamPipeExtension->addValue(0.001, "r_min", "envelope"); // Acts::UnitConstants::mm == 1 + beamPipeExtension->addValue(0.001, "r_max", "envelope"); // Acts::UnitConstants::mm == 1 + beamPipeExtension->addValue(0.001, "z_min", "envelope"); // Acts::UnitConstants::mm == 1 + beamPipeExtension->addValue(0.001, "z_max", "envelope"); // Acts::UnitConstants::mm == 1 central_det.addExtension<Acts::ActsExtension>(beamPipeExtension); // TODO add material binning diff --git a/src/OffMomentumTracker_geo.cpp b/src/OffMomentumTracker_geo.cpp index 9ff73619b7d4d2a48a383de0182d4c0b91e10c62..188c7b0a6a954f9cf80379de72977f4ceaea69c7 100644 --- a/src/OffMomentumTracker_geo.cpp +++ b/src/OffMomentumTracker_geo.cpp @@ -2,9 +2,12 @@ #include "DD4hep/DetFactoryHelper.h" #include "XML/Utilities.h" #include "XML/Layering.h" -#include "Acts/Plugins/DD4hep/ActsExtension.hpp" -#include "Acts/Definitions/Units.hpp" +#if defined(USE_ACTSDD4HEP) +#include "ActsDD4hep/ActsExtension.hpp" +#else +#include "Acts/Plugins/DD4hep/ActsExtension.hpp" +#endif using namespace std; using namespace dd4hep; using namespace dd4hep::detail; diff --git a/src/Timepix_geo.cpp b/src/Timepix_geo.cpp index a45c1f44f85bd936f726ab64a83c3799a6066b69..2ccf98d2d2f5d1c79739455e489c8f86d3fc585e 100644 --- a/src/Timepix_geo.cpp +++ b/src/Timepix_geo.cpp @@ -4,7 +4,11 @@ #include "DDRec/Surface.h" #include "DDRec/DetectorData.h" +//#if defined(USE_ACTSDD4HEP) +//#include "ActsDD4hep/ActsExtension.hpp" +//#else //#include "Acts/Plugins/DD4hep/ActsExtension.hpp" +//#endif using namespace std; using namespace dd4hep;