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