From 231dcaece6305d6b0ec932fe1bfd09d3ed1f372f Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Wed, 19 Aug 2020 16:48:33 +0200
Subject: [PATCH] Avoid using foreach doe to conflict with Qt.

---
 Control/AthenaKernel/AthenaKernel/Bases.h           | 13 +++++++------
 Control/AthenaKernel/test/Bases_test.cxx            | 10 +++++-----
 graphics/VP1/VP1Base/CMakeLists.txt                 |  3 +--
 graphics/VP1/VP1Base/VP1Base/AnimationSequence.h    |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP12DExaminerViewer.h  |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1CameraHelper.h      |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1ColorSelectButton.h |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1ControllerHelper.h  |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1CustomTourEditor.h  |  6 +-----
 .../VP1/VP1Base/VP1Base/VP1CustomTourFrameWidget.h  |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1DrawOptionsWidget.h |  6 +-----
 .../VP1/VP1Base/VP1Base/VP1GraphicsItemCollection.h |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1GraphicsView.h      |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1Interval.h          |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1Msg.h               |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1QtInventorUtils.h   |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1QtUtils.h           |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1Settings.h          |  6 +-----
 graphics/VP1/VP1Base/VP1Base/VP1String.h            |  5 +----
 graphics/VP1/VP1Base/src/VP1CustomSteroEditor.cxx   |  6 +-----
 graphics/VP1/VP1Utils/VP1Utils/VP1LinAlgUtils.h     |  6 +-----
 graphics/VP1/VP1Utils/VP1Utils/VP1ParticleData.h    |  6 +-----
 22 files changed, 32 insertions(+), 107 deletions(-)

diff --git a/Control/AthenaKernel/AthenaKernel/Bases.h b/Control/AthenaKernel/AthenaKernel/Bases.h
index 1de6fe6b2d41..47d7c7c34aba 100644
--- a/Control/AthenaKernel/AthenaKernel/Bases.h
+++ b/Control/AthenaKernel/AthenaKernel/Bases.h
@@ -10,8 +10,9 @@
  *
  * For a class @c T, its base classes are available via the traits
  * class defined here, as @c Bases<T>::bases.  This will be an instantiation
- * of @c BaseList, defined below, which provides a @c foreach function
+ * of @c BaseList, defined below, which provides a @c foreach_ function
  * to iterate over the base classes.
+ * [<CENSORED> Qt defines `foreach' as a macro, so we can't use that name!]
  *
  * For this to work, the @c Bases class must be specialized for each
  * class @c T.  This is usually done using the @c SG_BASE macros
@@ -76,7 +77,7 @@ public:
    */
   template <class CALLABLE>
   static
-  auto foreach (CALLABLE f, bool /*is_virtual*/ = false)
+  auto foreach_ (CALLABLE f, bool /*is_virtual*/ = false)
   {
     // Need to find the return type.
     using return_t = decltype (f (static_cast<void*> (nullptr), false));
@@ -169,13 +170,13 @@ public:
    *       if (typeid(base_t) == ti) return true;
    *       return false;
    *    };
-   *    return SG::Bases<T>::bases::foreach (search);
+   *    return SG::Bases<T>::bases::foreach_ (search);
    *  }
    @endcode
    */
   template <class CALLABLE>
   static
-  auto foreach (CALLABLE f, bool is_virtual = false)
+  auto foreach_ (CALLABLE f, bool is_virtual = false)
   {
     // Unwrap a SG::Virtual if needed.
     using base_t = typename BaseType<BASE>::type;
@@ -188,14 +189,14 @@ public:
     }
 
     // Call it on bases of our first base.
-    auto ret2 = Bases<base_t>::bases::foreach (f, base_is_virtual);
+    auto ret2 = Bases<base_t>::bases::foreach_ (f, base_is_virtual);
     if (static_cast<bool> (ret2)) {
       return ret2;
     }
 
     // Call it on our remaining bases.
     if constexpr (sizeof... (REST) > 0) {
-      auto ret3 = BaseList<REST...>::foreach (f, is_virtual);
+      auto ret3 = BaseList<REST...>::foreach_ (f, is_virtual);
       if (static_cast<bool> (ret3)) {
         return ret3;
       }
diff --git a/Control/AthenaKernel/test/Bases_test.cxx b/Control/AthenaKernel/test/Bases_test.cxx
index 21788cd4c1c8..1504d03446ae 100644
--- a/Control/AthenaKernel/test/Bases_test.cxx
+++ b/Control/AthenaKernel/test/Bases_test.cxx
@@ -109,15 +109,15 @@ void test1()
     return false;
   };
 
-  assert (SG::Bases<C>::bases::foreach (collect_names) == false);
+  assert (SG::Bases<C>::bases::foreach_ (collect_names) == false);
   assert (names == (std::vector<std::string> { "A", "B" }));
 
   names.clear();
-  assert (SG::Bases<D>::bases::foreach (collect_names) == false);
+  assert (SG::Bases<D>::bases::foreach_ (collect_names) == false);
   assert (names == (std::vector<std::string> { "C", "A", "B" }));
 
   names.clear();
-  assert (SG::Bases<E>::bases::foreach (collect_names) == false);
+  assert (SG::Bases<E>::bases::foreach_ (collect_names) == false);
   assert (names == (std::vector<std::string> { "C", "(virtual)",
                                                 "A", "(virtual)",
                                                 "B", "(virtual)",
@@ -134,7 +134,7 @@ void test1()
   };
 
   names.clear();
-  const char* nm = SG::Bases<D>::bases::foreach (collect_names2);
+  const char* nm = SG::Bases<D>::bases::foreach_ (collect_names2);
   assert (std::string(nm) == "A");
   assert (names == (std::vector<std::string> { "C", "A" }));
 }
@@ -152,7 +152,7 @@ bool derivesFrom (const std::type_info& ti)
     if (typeid(base_t) == ti) return true;
     return false;
   };
-  return SG::Bases<T>::bases::foreach (search);
+  return SG::Bases<T>::bases::foreach_ (search);
 }
 
 
diff --git a/graphics/VP1/VP1Base/CMakeLists.txt b/graphics/VP1/VP1Base/CMakeLists.txt
index ae8ca5df9be8..cd295c6587b8 100644
--- a/graphics/VP1/VP1Base/CMakeLists.txt
+++ b/graphics/VP1/VP1Base/CMakeLists.txt
@@ -12,7 +12,6 @@ atlas_subdir( VP1Base )
 atlas_depends_on_subdirs( PUBLIC 
                           DetectorDescription/GeoPrimitives
     	                  Event/xAOD/xAODBase
-    	                  Event/xAOD/xAODCore
                           PRIVATE 
                           graphics/VP1/VP1HEPVis )
 
@@ -47,5 +46,5 @@ atlas_add_library( VP1Base VP1Base/*.h src/*.cxx src/*.qrc
    PUBLIC_HEADERS VP1Base
    INCLUDE_DIRS ${QT5_INCLUDE_DIRS} ${SOQT_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS}
    PRIVATE_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}
-   LINK_LIBRARIES ${QT5_LIBRARIES} ${SOQT_LIBRARIES} ${COIN3D_LIBRARIES} GeoPrimitives xAODCore
+   LINK_LIBRARIES ${QT5_LIBRARIES} ${SOQT_LIBRARIES} ${COIN3D_LIBRARIES} GeoPrimitives
    PRIVATE_LINK_LIBRARIES VP1HEPVis )
diff --git a/graphics/VP1/VP1Base/VP1Base/AnimationSequence.h b/graphics/VP1/VP1Base/VP1Base/AnimationSequence.h
index 40646e6b18ce..eacd0628ce38 100644
--- a/graphics/VP1/VP1Base/VP1Base/AnimationSequence.h
+++ b/graphics/VP1/VP1Base/VP1Base/AnimationSequence.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef VP1BASE_ANIMATIONSEQUENCE_H
@@ -16,10 +16,6 @@
 #include <Inventor/C/errors/debugerror.h>
 #include <Inventor/SbLinear.h>
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QByteArray>
 
 class AnimationSequence {
diff --git a/graphics/VP1/VP1Base/VP1Base/VP12DExaminerViewer.h b/graphics/VP1/VP1Base/VP1Base/VP12DExaminerViewer.h
index 4919be4e1031..2b93ed308889 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP12DExaminerViewer.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP12DExaminerViewer.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -16,10 +16,6 @@
 #ifndef VP12DEXAMINERVIEWER_H
 #define VP12DEXAMINERVIEWER_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QList>
 #include <QPair>
 #include <QStringList>
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1CameraHelper.h b/graphics/VP1/VP1Base/VP1Base/VP1CameraHelper.h
index 47ebe3fe8eb0..07e6e55a154c 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1CameraHelper.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1CameraHelper.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -15,10 +15,6 @@
 #ifndef VP1CAMERAHELPER_H
 #define VP1CAMERAHELPER_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QObject>
 #include <Inventor/C/errors/debugerror.h>
 #include <Inventor/SbVec3f.h>
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1ColorSelectButton.h b/graphics/VP1/VP1Base/VP1Base/VP1ColorSelectButton.h
index a249c30ae49c..b54eb83d1599 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1ColorSelectButton.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1ColorSelectButton.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -15,10 +15,6 @@
 #ifndef VP1COLORSELECTBUTTON_H
 #define VP1COLORSELECTBUTTON_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QPushButton>
 
 class VP1ColorSelectButton : public QPushButton {
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1ControllerHelper.h b/graphics/VP1/VP1Base/VP1Base/VP1ControllerHelper.h
index cc4cce871b4f..bcc6ed7eac1b 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1ControllerHelper.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1ControllerHelper.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -15,10 +15,6 @@
 #ifndef VP1CONTROLLERHELPER_H
 #define VP1CONTROLLERHELPER_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QMap>
 #include <QPair>
 
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1CustomTourEditor.h b/graphics/VP1/VP1Base/VP1Base/VP1CustomTourEditor.h
index faf3f877eb75..faf3c4a5d78f 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1CustomTourEditor.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1CustomTourEditor.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,10 +17,6 @@
 #ifndef VP1CUSTOMTOUREDITOR_H
 #define VP1CUSTOMTOUREDITOR_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QWidget>
 
 class VP1CustomTourFrameWidget;
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1CustomTourFrameWidget.h b/graphics/VP1/VP1Base/VP1Base/VP1CustomTourFrameWidget.h
index ac67f26a0977..9e7f104d487c 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1CustomTourFrameWidget.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1CustomTourFrameWidget.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,10 +17,6 @@
 #ifndef VP1CUSTOMTOURFRAMEWIDGET_H
 #define VP1CUSTOMTOURFRAMEWIDGET_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QFrame>
 #include <QByteArray>
 
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1DrawOptionsWidget.h b/graphics/VP1/VP1Base/VP1Base/VP1DrawOptionsWidget.h
index 93286d065dfa..f05696af52fa 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1DrawOptionsWidget.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1DrawOptionsWidget.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -18,10 +18,6 @@
 #ifndef VP1DRAWOPTIONSWIDGET_H
 #define VP1DRAWOPTIONSWIDGET_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QWidget>
 
 class SoGroup;
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1GraphicsItemCollection.h b/graphics/VP1/VP1Base/VP1Base/VP1GraphicsItemCollection.h
index ba755949250c..ed6855c302b3 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1GraphicsItemCollection.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1GraphicsItemCollection.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -45,10 +45,6 @@
 //
 // Any change of selection or occurrence of picks/events makes the GV ask the appropriate IC to emit a signal.
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QObject>
 
 class VP1GraphicsView;
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1GraphicsView.h b/graphics/VP1/VP1Base/VP1Base/VP1GraphicsView.h
index d649032badcd..36515a7c2779 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1GraphicsView.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1GraphicsView.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////
@@ -15,10 +15,6 @@
 #ifndef VP1GRAPHICSVIEW_H
 #define VP1GRAPHICSVIEW_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QGraphicsView>
 
 class VP1GraphicsItemCollection;
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1Interval.h b/graphics/VP1/VP1Base/VP1Base/VP1Interval.h
index 0d12c2764357..25dd1275a9e7 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1Interval.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1Interval.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,10 +17,6 @@
 #ifndef VP1INTERVAL_H
 #define VP1INTERVAL_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QString>
 #include <limits>
 
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1Msg.h b/graphics/VP1/VP1Base/VP1Base/VP1Msg.h
index dda95ec01e1d..0f72e1ada0a3 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1Msg.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1Msg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,10 +17,6 @@
 #ifndef VP1MSG_H
 #define VP1MSG_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QStringList>
 #include "VP1Base/VP1String.h"
 
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1QtInventorUtils.h b/graphics/VP1/VP1Base/VP1Base/VP1QtInventorUtils.h
index bffd82b0deea..e630fdc4e8b7 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1QtInventorUtils.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1QtInventorUtils.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -16,10 +16,6 @@
 #ifndef VP1QTINVENTORUTILS_H
 #define VP1QTINVENTORUTILS_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <Inventor/C/errors/debugerror.h>
 #include <Inventor/actions/SoGLRenderAction.h>
 #include <QString>
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1QtUtils.h b/graphics/VP1/VP1Base/VP1Base/VP1QtUtils.h
index a46470906575..c36ef22bf41b 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1QtUtils.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1QtUtils.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,10 +17,6 @@
 #ifndef VP1QTUTILS_H
 #define VP1QTUTILS_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QString>
 //NB: Keep includes very few here!
 class QImage;
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1Settings.h b/graphics/VP1/VP1Base/VP1Base/VP1Settings.h
index 2085ede34d5a..3f0e05d0db98 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1Settings.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1Settings.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -18,10 +18,6 @@
 #ifndef VP1SETTINGS_H
 #define VP1SETTINGS_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QString>
 
 class VP1Settings {
diff --git a/graphics/VP1/VP1Base/VP1Base/VP1String.h b/graphics/VP1/VP1Base/VP1Base/VP1String.h
index 20780a1219b3..3fa669124c56 100644
--- a/graphics/VP1/VP1Base/VP1Base/VP1String.h
+++ b/graphics/VP1/VP1Base/VP1Base/VP1String.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -20,9 +20,6 @@
 #ifndef VP1STRING_H
 #define VP1STRING_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
 
 #include <QString>
 
diff --git a/graphics/VP1/VP1Base/src/VP1CustomSteroEditor.cxx b/graphics/VP1/VP1Base/src/VP1CustomSteroEditor.cxx
index 7dd814fb4217..d475bba3d04e 100644
--- a/graphics/VP1/VP1Base/src/VP1CustomSteroEditor.cxx
+++ b/graphics/VP1/VP1Base/src/VP1CustomSteroEditor.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -12,10 +12,6 @@
 //                                                            //
 ////////////////////////////////////////////////////////////////
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include "ui_vp1customstereoeditor.h"
 
 #include "VP1Base/VP1CustomStereoEditor.h"
diff --git a/graphics/VP1/VP1Utils/VP1Utils/VP1LinAlgUtils.h b/graphics/VP1/VP1Utils/VP1Utils/VP1LinAlgUtils.h
index 11268eb69016..1157298604d9 100644
--- a/graphics/VP1/VP1Utils/VP1Utils/VP1LinAlgUtils.h
+++ b/graphics/VP1/VP1Utils/VP1Utils/VP1LinAlgUtils.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -30,10 +30,6 @@ class SbMatrix;
 #include "GeoPrimitives/GeoPrimitivesHelpers.h"
 
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QString>
 
 
diff --git a/graphics/VP1/VP1Utils/VP1Utils/VP1ParticleData.h b/graphics/VP1/VP1Utils/VP1Utils/VP1ParticleData.h
index c42b8f70a369..1d5066ba2b0a 100644
--- a/graphics/VP1/VP1Utils/VP1Utils/VP1ParticleData.h
+++ b/graphics/VP1/VP1Utils/VP1Utils/VP1ParticleData.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -18,10 +18,6 @@
 #ifndef VP1PARTICLEDATA_H
 #define VP1PARTICLEDATA_H
 
-// FIXME: need to include this before any QT header, because QT defines
-// a macro `foreach' that collides with an identifier in AthenaKernel.
-#include "xAODCore/BaseInfo.h"
-
 #include <QString>
 namespace HepPDT { class ParticleData; }
 
-- 
GitLab