From 1afbcc193e63965a2cf8a6b41d3aa23362099e96 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Thu, 21 Mar 2019 12:07:03 +0100
Subject: [PATCH] GeoPrimitives: Drop backwards compatibility with Eigen <=
 3.3.0

Drop the support of older Eigen versions and cleanup dictionary rules.
---
 .../GeoPrimitives/GeoPrimitivesDict.h         |  8 +---
 .../GeoPrimitives/GeoPrimitives/selection.xml | 42 -------------------
 2 files changed, 1 insertion(+), 49 deletions(-)

diff --git a/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesDict.h b/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesDict.h
index fefc3d8d6fa..4a56424cb03 100644
--- a/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesDict.h
+++ b/DetectorDescription/GeoPrimitives/GeoPrimitives/GeoPrimitivesDict.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "GeoPrimitives/GeoPrimitives.h"
@@ -23,12 +23,6 @@ struct GeoPrimitivesInstan
   Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> > m_vb3;
   Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> > m_vb5;
   Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> > m_db4;
-#if ! EIGEN_VERSION_AT_LEAST( 3, 3, 0 )
-  Eigen::internal::special_scalar_op_base<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,double,double,Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> >,false> m_ss4;
-  Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,2,1,0,2,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,2,1,0,2,1> >,false> m_ssv2;
-  Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,1,0,3,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> >,false> m_ssv3;
-  Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,5,1,0,5,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> >,false> m_ssv5;
-#endif // EIGEN_VERSION_AT_LEAST
   Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,2> m_dc4_2;
   Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,0> m_dc4_0;
   Eigen::PlainObjectBase<Eigen::Matrix<double,3,3,0,3,3> > m_pm3;
diff --git a/DetectorDescription/GeoPrimitives/GeoPrimitives/selection.xml b/DetectorDescription/GeoPrimitives/GeoPrimitives/selection.xml
index a25f5b7a106..bcf9cf2a9fe 100644
--- a/DetectorDescription/GeoPrimitives/GeoPrimitives/selection.xml
+++ b/DetectorDescription/GeoPrimitives/GeoPrimitives/selection.xml
@@ -10,7 +10,6 @@
   <class name="Eigen::Matrix<double,2,1,0,2,1>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,2,1,0,2,1> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,2,1,0,2,1> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,2,1,0,2,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,2,1,0,2,1> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,2,1,0,2,1>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,2,1,0,2,1>,1>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,2,1,0,2,1>,0>"/>
@@ -20,8 +19,6 @@
   <class name="Eigen::Matrix<double,3,1,0,3,1>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,3,1,0,3,1> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,1,0,3,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> >,false>"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,1,0,3,1>,double,double,Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,3>,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,1>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,0>"/>
@@ -31,7 +28,6 @@
   <class name="Eigen::Matrix<double,5,1,0,5,1>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,5,1,0,5,1> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,5,1,0,5,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,5,1,0,5,1>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,5,1,0,5,1>,1>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,5,1,0,5,1>,0>"/>
@@ -41,7 +37,6 @@
   <class name="Eigen::Matrix<double,3,3,0,3,3>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,3,3,0,3,3> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,3,3,0,3,3> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,3,0,3,3>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,3,3,0,3,3> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,3,0,3,3>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,3,0,3,3>,1>"/>
   <class name="Eigen::PlainObjectBase<Eigen::Matrix<double,3,3,0,3,3> >"/>
@@ -49,7 +44,6 @@
   <class name="Eigen::Matrix<double,4,4,0,4,4>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,4,4,0,4,4> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,4,4,0,4,4> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,4,4,0,4,4>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,4,4,0,4,4> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,4,4,0,4,4>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,4,4,0,4,4>,1>"/>
   <class name="Eigen::PlainObjectBase<Eigen::Matrix<double,4,4,0,4,4> >"/>
@@ -59,14 +53,12 @@
   <class name="Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,0>"/>
   <class name="Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> >"/>
   <class name="Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,double,double,Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,2>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,0>"/>
 
   <class name="Eigen::Matrix<double,5,5,0,5,5>"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,5,5,0,5,5> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,5,5,0,5,5> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,5,5,0,5,5>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,5,0,5,5> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,5,5,0,5,5>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,5,5,0,5,5>,1>"/>
   <class name="Eigen::PlainObjectBase<Eigen::Matrix<double,5,5,0,5,5> >"/>
@@ -75,7 +67,6 @@
   <class name="Eigen::PlainObjectBase<Eigen::Matrix<double,-1,-1,0,-1,-1> >"/>
   <class name="Eigen::MatrixBase<Eigen::Matrix<double,-1,-1,0,-1,-1> >"/>
   <class name="Eigen::DenseBase<Eigen::Matrix<double,-1,-1,0,-1,-1> >"/>
-  <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,-1,-1,0,-1,-1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,-1,-1,0,-1,-1> >,false>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,-1,-1,0,-1,-1>,3>"/>
   <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,-1,-1,0,-1,-1>,1>"/>
 
@@ -182,10 +173,6 @@
       <method name="trace"/>
     </class>
 
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false>,double,double,Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double,4,4,0,4,4>,3,1,false> >,false>">
-      <method name="*"/>
-    </class>
-
     <class name="Eigen::PlainObjectBase<Eigen::Matrix<double,3,3,0,3,3> >">
       <method name="resize"/>
       <method name="conservativeResize"/>
@@ -584,35 +571,6 @@
       <method name="Ones"/>
     </class>
 
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,2,1,0,2,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,2,1,0,2,1> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,1,0,3,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,5,1,0,5,1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,3,3,0,3,3>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,1,0,5,1> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,4,4,0,4,4>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,4,4,0,4,4> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,5,5,0,5,5>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,5,5,0,5,5> >,false>">
-      <method name="*"/>
-    </class>
-
-    <class name="Eigen::internal::special_scalar_op_base<Eigen::Matrix<double,-1,-1,0,-1,-1>,double,double,Eigen::MatrixBase<Eigen::Matrix<double,-1,-1,0,-1,-1> >,false>">
-      <method name="*"/>
-    </class>
-
     <class name="Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,3,0,3,3>,1>">
       <method name="[]"/>
       <method name="x"/>
-- 
GitLab