File indexing completed on 2025-05-11 08:57:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef FWCORE_METADATAUTILS_H
0020 #define FWCORE_METADATAUTILS_H
0021
0022 #include <GaudiKernel/Service.h>
0023 #include "Gaudi/Algorithm.h"
0024
0025 #include "k4FWCore/IMetadataSvc.h"
0026
0027 namespace k4FWCore {
0028
0029
0030
0031
0032
0033 template <typename T> void putParameter(const std::string& name, const T& value, const Gaudi::Algorithm* alg) {
0034 auto metadataSvc = alg->service<IMetadataSvc>("MetadataSvc", false);
0035 if (!metadataSvc) {
0036 alg->error() << "MetadataSvc not found" << endmsg;
0037 return;
0038 }
0039 metadataSvc->put<T>(name, value);
0040 }
0041
0042
0043 template <typename T> void putParameter(const std::string& name, const T& value) {
0044 auto metadataSvc = Gaudi::svcLocator()->service<IMetadataSvc>("MetadataSvc", false);
0045 if (!metadataSvc) {
0046 std::cout << "MetadataSvc not found" << std::endl;
0047 return;
0048 }
0049 return metadataSvc->put<T>(name, value);
0050 }
0051
0052
0053
0054
0055 template <typename T> std::optional<T> getParameter(const std::string& name, const Gaudi::Algorithm* alg) {
0056 auto metadataSvc = alg->service<IMetadataSvc>("MetadataSvc", false);
0057 if (!metadataSvc) {
0058 alg->error() << "MetadataSvc not found" << endmsg;
0059 return std::nullopt;
0060 }
0061 return metadataSvc->get<T>(name);
0062 }
0063
0064
0065 template <typename T> std::optional<T> getParameter(const std::string& name) {
0066 auto metadataSvc = Gaudi::svcLocator()->service<IMetadataSvc>("MetadataSvc", false);
0067 if (!metadataSvc) {
0068 return std::nullopt;
0069 }
0070 return metadataSvc->get<T>(name);
0071 }
0072 }
0073
0074 #endif