ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
base_actor.hpp
1// This file is part of the ACTS project.
2//
3// Copyright (C) 2016 CERN for the benefit of the ACTS project
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9#pragma once
10
11// Project include(s)
12#include "detray/definitions/actor.hpp"
13
14// System include(s)
15#include <type_traits>
16
17namespace detray {
18
20struct base_actor {
22 struct is_comp_actor : public std::false_type {};
23
25 struct state {};
26};
27
28namespace actor {
29
31struct empty_result {};
32
34struct result {
36 actor::status status{actor::status::e_unknown};
37
39 DETRAY_HOST
40 friend std::ostream &operator<<(std::ostream &os, const result &res) {
41 os << "status: " << res.status << std::endl;
42 return os;
43 }
44};
45
46} // namespace actor
47
48} // namespace detray
Detray include(s).
Definition array_operators.hpp:18
Dummy result type that signals that no result is present.
Definition base_actor.hpp:31
Result of the principal actor to be passed to the obsevers.
Definition base_actor.hpp:34
friend std::ostream & operator<<(std::ostream &os, const result &res)
Definition base_actor.hpp:40
actor::status status
Navigation status reported by the principal actor.
Definition base_actor.hpp:36
Tag whether this is a composite type.
Definition base_actor.hpp:22
Defines the actors state. Hidden by actor implementations.
Definition base_actor.hpp:25
Base class actor implementation.
Definition base_actor.hpp:20