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