From 60f26f9017946d8e6f7fd6b6ba7dbbe6f6a12230 Mon Sep 17 00:00:00 2001
From: Florian Uhlig <f.uhlig@gsi.de>
Date: Fri, 29 Jul 2022 18:40:13 +0200
Subject: [PATCH]     Use pseudo vectors when creating the ROOT dictionary

    The creation of the ROOT dictionary fails on arm64 if the SIMD vectors are
    used.
---
 reco/L1/L1Algo/L1Def.h   | 9 ++++-----
 reco/L1/L1Algo/L1NaN.h   | 4 ++++
 reco/L1/L1Algo/L1Utils.h | 4 ++++
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/reco/L1/L1Algo/L1Def.h b/reco/L1/L1Algo/L1Def.h
index 36ad064561..6492043a3d 100644
--- a/reco/L1/L1Algo/L1Def.h
+++ b/reco/L1/L1Algo/L1Def.h
@@ -13,12 +13,11 @@
 
 #include <assert.h>
 
-//#if defined(HAVE_SSE) || SSE_FOUND
+#if defined(__CINT__) || defined(__CLING__)
+#include "vectors/PSEUDO_F32vec4.h"
+#else
 #include "vectors/P4_F32vec4.h"
-//#else
-//#include "vectors/PSEUDO_F32vec4.h"
-//#error NoSseFound
-//#endif  // HAVE_SSE
+#endif
 
 
 template<typename T>
diff --git a/reco/L1/L1Algo/L1NaN.h b/reco/L1/L1Algo/L1NaN.h
index eadd05ef67..05a76ef858 100644
--- a/reco/L1/L1Algo/L1NaN.h
+++ b/reco/L1/L1Algo/L1NaN.h
@@ -18,7 +18,11 @@
 
 #include <cmath>
 
+#if defined(__CINT__) || defined(__CLING__)
+#include "vectors/PSEUDO_F32vec4.h"
+#else
 #include "vectors/P4_F32vec4.h"
+#endif
 
 /// Namespace L1NaN defines functions to set variables to NaN and check wether they are NaN or not
 ///
diff --git a/reco/L1/L1Algo/L1Utils.h b/reco/L1/L1Algo/L1Utils.h
index 6770f4fb8f..4384382774 100644
--- a/reco/L1/L1Algo/L1Utils.h
+++ b/reco/L1/L1Algo/L1Utils.h
@@ -21,7 +21,11 @@
 
 #include <cmath>
 
+#if defined(__CINT__) || defined(__CLING__)
+#include "vectors/PSEUDO_F32vec4.h"
+#else
 #include "vectors/P4_F32vec4.h"
+#endif
 
 /// Class contains some utility functions for L1Algo
 struct L1Utils {
-- 
GitLab