From 30d1bded3abf0334aac979e700fc23ff81cb620e Mon Sep 17 00:00:00 2001
From: Markus Frank <Markus.Frank@cern.ch>
Date: Fri, 3 Mar 2023 14:27:38 +0100
Subject: [PATCH] Have named object maps

---
 DDCore/include/DD4hep/DetectorData.h | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/DDCore/include/DD4hep/DetectorData.h b/DDCore/include/DD4hep/DetectorData.h
index 5d0455d16..06c3db6b4 100644
--- a/DDCore/include/DD4hep/DetectorData.h
+++ b/DDCore/include/DD4hep/DetectorData.h
@@ -57,10 +57,15 @@ namespace dd4hep {
      *  \ingroup DD4HEP_CORE
      */
     class ObjectHandleMap: public Detector::HandleMap {
+    public:
+      /// Name the map
+      std::string name;
     public:
       /// Default constructor
-      ObjectHandleMap() {
-      }
+      ObjectHandleMap() = default;
+      /// Initializing constructor
+      ObjectHandleMap(const std::string& name);
+      /// Append entry to map
       void append(const Handle<NamedObject>& e, bool throw_on_doubles = true) {
         if (e.isValid()) {
           std::string n = e.name();
@@ -77,7 +82,7 @@ namespace dd4hep {
         }
         throw InvalidObjectError("Attempt to add an invalid object.");
       }
-
+      /// Append entry to map
       template <typename T> void append(const Handle<NamedObject>& e, bool throw_on_doubles = true) {
         T* obj = dynamic_cast<T*>(e.ptr());
         if (obj) {
@@ -145,6 +150,8 @@ namespace dd4hep {
     DetectorData();
     /// Default destructor
     virtual ~DetectorData();
+    /// Move constructor
+    DetectorData(DetectorData&& copy) = delete;
     /// Copy constructor
     DetectorData(const DetectorData& copy) = delete;
     /// Assignment operator
@@ -206,5 +213,10 @@ namespace dd4hep {
     const Detector::HandleMap& idSpecifications() const   {    return m_idDict;           }
   };
 
+  /// Initializing constructor
+  inline DetectorData::ObjectHandleMap::ObjectHandleMap(const std::string& nam)
+    : name(nam)
+  {
+  }
 }         /* End namespace dd4hep         */
 #endif // DD4HEP_DETECTORDATA_H
-- 
GitLab