From 8fd21efe1ba6824a0c23de32da3f75224004d986 Mon Sep 17 00:00:00 2001
From: Markus Frank <markus.frank@cern.ch>
Date: Tue, 5 Jul 2016 18:58:36 +0000
Subject: [PATCH] Fix CINT Problems.

---
 DDCore/include/DD4hep/Conditions.h |  6 +++---
 DDCore/include/DD4hep/Dictionary.h | 14 +++++++++-----
 DDCore/include/DD4hep/Readout.h    |  2 ++
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/DDCore/include/DD4hep/Conditions.h b/DDCore/include/DD4hep/Conditions.h
index dac482986..93b04fb27 100644
--- a/DDCore/include/DD4hep/Conditions.h
+++ b/DDCore/include/DD4hep/Conditions.h
@@ -89,10 +89,10 @@ namespace DD4hep {
 
       /// Initializing constructor
       explicit IOV(const IOVType* typ);
-      /// Copy constructor
-      explicit IOV(const IOV& copy);
-      /// Copy constructor
+      /// Specialized copy constructor
       explicit IOV(const IOVType* typ, const Key& key);
+      /// Copy constructor
+      IOV(const IOV& copy);
 
       /// Standard Destructor
       ~IOV();
diff --git a/DDCore/include/DD4hep/Dictionary.h b/DDCore/include/DD4hep/Dictionary.h
index 7ea791c3f..6956a45e4 100644
--- a/DDCore/include/DD4hep/Dictionary.h
+++ b/DDCore/include/DD4hep/Dictionary.h
@@ -20,17 +20,18 @@
 #define DD4HEP_GEOMETRY_DICTIONARY_H
 
 #include "XML/Evaluator.h"
-#include "DD4hep/World.h"
-#include "DD4hep/Callback.h"
-#include "DD4hep/LCDDData.h"
-#include "DD4hep/Conditions.h"
-#include "DD4hep/FieldTypes.h"
 #include "DD4hep/DD4hepRootPersistency.h"
 #include "DD4hep/objects/ObjectsInterna.h"
 #include "DD4hep/objects/DetectorInterna.h"
 #include "DD4hep/objects/ConditionsInterna.h"
 #include "DD4hep/objects/VolumeManagerInterna.h"
 
+#include "DD4hep/World.h"
+#include "DD4hep/Callback.h"
+#include "DD4hep/LCDDData.h"
+#include "DD4hep/Conditions.h"
+#include "DD4hep/FieldTypes.h"
+
 #include <vector>
 #include <map>
 #include <string>
@@ -181,10 +182,13 @@ template class DD4hep::Handle<TNamed>;
 #pragma link C++ class DD4hep::Handle<DD4hep::Geometry::SegmentationObject>+;
 #pragma link C++ class DD4hep::Geometry::HitCollection+;
 #pragma link C++ class DD4hep::Geometry::Readout+;
+#pragma link C++ class DD4hep::Geometry::HitCollection+;
 #pragma link C++ class DD4hep::Geometry::ReadoutObject+;
 #pragma link C++ class DD4hep::Handle<DD4hep::Geometry::ReadoutObject>+;
 #pragma link C++ class vector<DD4hep::Geometry::HitCollection>+;
 #pragma link C++ class vector<DD4hep::Geometry::Readout>+;
+#pragma link C++ class vector<DD4hep::Geometry::HitCollection*>+;
+#pragma link C++ class vector<const DD4hep::Geometry::HitCollection*>+;
 #pragma link C++ class vector<DD4hep::Geometry::IDDescriptor>+;
 
 #pragma link C++ class DD4hep::Geometry::Alignment+;
diff --git a/DDCore/include/DD4hep/Readout.h b/DDCore/include/DD4hep/Readout.h
index 556fd5731..d51eb9a1c 100644
--- a/DDCore/include/DD4hep/Readout.h
+++ b/DDCore/include/DD4hep/Readout.h
@@ -79,8 +79,10 @@ namespace DD4hep {
       }
       /// Access explicit names of hit collections if present
       std::vector<std::string> collectionNames()  const;
+#ifndef __CINT__
       /// Access hit collections if present
       std::vector<const HitCollection*> collections()  const;
+#endif
       /// Access number of hit collections
       size_t numCollections() const;
       /// Assign IDDescription to readout structure
-- 
GitLab