From 28294afbb9f8d7da759568b4d6e7f44cb9e2586f Mon Sep 17 00:00:00 2001
From: Paul Gessinger <paul.gessinger@cern.ch>
Date: Fri, 15 Jul 2022 17:16:24 +0200
Subject: [PATCH] Make VariantParameters::value_or const

---
 DDRec/include/DDRec/DetectorData.h | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/DDRec/include/DDRec/DetectorData.h b/DDRec/include/DDRec/DetectorData.h
index 50af66a03..dcf1162d4 100644
--- a/DDRec/include/DDRec/DetectorData.h
+++ b/DDRec/include/DDRec/DetectorData.h
@@ -517,13 +517,22 @@ namespace dd4hep {
       const T& get(const std::string& key) const {
         auto it = variantParameters.find(key);
         if(it == variantParameters.end()) {
-          throw std::runtime_error{"Key "+key+"not found"};
+          throw std::runtime_error{"Key "+key+" not found"};
         }
         return boost::get<T>(it->second);
       }
 
       template <typename T>
-      T value_or(const std::string& key, T alternative) {
+      T& get(const std::string& key) {
+        auto it = variantParameters.find(key);
+        if(it == variantParameters.end()) {
+          throw std::runtime_error{"Key "+key+" not found"};
+        }
+        return boost::get<T>(it->second);
+      }
+
+      template <typename T>
+      T value_or(const std::string& key, T alternative) const {
         auto it = variantParameters.find(key);
         if(it == variantParameters.end()) {
           return alternative;
-- 
GitLab