EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
ActsSvc.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2025 Dmitry Kalinkin
3
4#pragma once
5
6#include <algorithms/service.h>
7#include <memory>
8
10
11namespace algorithms {
12
13class ActsSvc : public Service<ActsSvc> {
14public:
15 void init(std::shared_ptr<const ActsGeometryProvider> provider = nullptr) {
16 m_acts_geometry_provider = provider;
17 };
18
19 void init(std::exception_ptr&& _failure) { failure = std::move(_failure); }
20
21 std::shared_ptr<const ActsGeometryProvider> acts_geometry_provider() const {
22 if (failure) {
23 std::rethrow_exception(failure);
24 }
26 }
27
28protected:
29 std::shared_ptr<const ActsGeometryProvider> m_acts_geometry_provider{nullptr};
30 std::exception_ptr failure;
31
32 ALGORITHMS_DEFINE_SERVICE(ActsSvc)
33};
34
35} // namespace algorithms
Definition ActsGeometryProvider.h:39
Definition ActsSvc.h:13
void init(std::shared_ptr< const ActsGeometryProvider > provider=nullptr)
Definition ActsSvc.h:15
std::shared_ptr< const ActsGeometryProvider > m_acts_geometry_provider
Definition ActsSvc.h:29
std::shared_ptr< const ActsGeometryProvider > acts_geometry_provider() const
Definition ActsSvc.h:21
void init(std::exception_ptr &&_failure)
Definition ActsSvc.h:19
std::exception_ptr failure
Definition ActsSvc.h:30
Definition ActsSvc.h:11