4 #include "Acts/Utilities/HashedString.hpp"
11 const std::set<std::string>& staticVariables) {
12 std::vector<Decoration> decorations;
15 const std::type_info* typeInfo =
17 if (staticVariables.count(
name) == 1) {
25 if (*typeInfo ==
typeid(
float)) {
26 decorations.emplace_back(
27 decoration<float>(
name, ActsTrk::detail::constDecorationGetter<float>,
28 ActsTrk::detail::decorationCopier<float>));
29 }
else if (*typeInfo ==
typeid(
double)) {
30 decorations.emplace_back(decoration<double>(
31 name, ActsTrk::detail::constDecorationGetter<double>,
32 ActsTrk::detail::decorationCopier<double>));
33 }
else if (*typeInfo ==
typeid(
short)) {
34 decorations.emplace_back(
35 decoration<short>(
name, ActsTrk::detail::constDecorationGetter<short>,
36 ActsTrk::detail::decorationCopier<short>));
37 }
else if (*typeInfo ==
typeid(
uint32_t)) {
38 decorations.emplace_back(decoration<uint32_t>(
39 name, ActsTrk::detail::constDecorationGetter<uint32_t>,
40 ActsTrk::detail::decorationCopier<uint32_t>));
42 throw std::runtime_error(
"Can't restore decoration of " +
name +
43 " because it is of an unsupported type");