File indexing completed on 2025-09-15 08:17:51
0001
0002
0003
0004 #pragma once
0005
0006 #include <DD4hep/Detector.h>
0007 #include <JANA/JApplicationFwd.h>
0008 #include <JANA/JServiceFwd.h>
0009 #include <spdlog/logger.h>
0010 #include <memory>
0011 #include <mutex>
0012
0013 class ActsGeometryProvider;
0014
0015 class ACTSGeo_service : public JService {
0016 public:
0017 ACTSGeo_service(JApplication* app) : m_app(app) {}
0018 virtual ~ACTSGeo_service();
0019
0020 virtual std::shared_ptr<const ActsGeometryProvider> actsGeoProvider();
0021
0022 protected:
0023 private:
0024 ACTSGeo_service() = default;
0025 void acquire_services(JServiceLocator*) override;
0026
0027 std::once_flag m_init_flag;
0028 JApplication* m_app = nullptr;
0029 const dd4hep::Detector* m_dd4hepGeo = nullptr;
0030 std::shared_ptr<ActsGeometryProvider> m_acts_provider;
0031
0032
0033 std::shared_ptr<spdlog::logger> m_log;
0034 };