File indexing completed on 2025-06-30 08:34:27
0001
0002
0003
0004 #pragma once
0005
0006 #include <algorithms/service.h>
0007 #include <memory>
0008
0009 class ActsGeometryProvider;
0010
0011 namespace algorithms {
0012
0013 class ActsSvc : public Service<ActsSvc> {
0014 public:
0015 void init(std::shared_ptr<const ActsGeometryProvider> provider = nullptr) {
0016 m_acts_geometry_provider = provider;
0017 };
0018
0019 void init(std::exception_ptr&& _failure) { failure = std::move(_failure); }
0020
0021 std::shared_ptr<const ActsGeometryProvider> acts_geometry_provider() {
0022 if (failure) {
0023 std::rethrow_exception(failure);
0024 }
0025 return m_acts_geometry_provider;
0026 }
0027
0028 protected:
0029 std::shared_ptr<const ActsGeometryProvider> m_acts_geometry_provider{nullptr};
0030 std::exception_ptr failure;
0031
0032 ALGORITHMS_DEFINE_SERVICE(ActsSvc)
0033 };
0034
0035 }