From 80ea7490b4251c57e52f8ff259e20accdbeebc0c Mon Sep 17 00:00:00 2001
From: schaffer <R.D.Schaffer@cern.ch>
Date: Sun, 16 Aug 2020 17:44:50 +0200
Subject: [PATCH] move to new initialization of field when creating BFieldCache
 object as a test for optimizing the speed of the bfield calculations

---
 .../MagFieldElements/BFieldMesh.icc           | 38 ++++++++-----------
 1 file changed, 15 insertions(+), 23 deletions(-)

diff --git a/MagneticField/MagFieldElements/MagFieldElements/BFieldMesh.icc b/MagneticField/MagFieldElements/MagFieldElements/BFieldMesh.icc
index 2a59bd862ce6..114bffa4fdce 100644
--- a/MagneticField/MagFieldElements/MagFieldElements/BFieldMesh.icc
+++ b/MagneticField/MagFieldElements/MagFieldElements/BFieldMesh.icc
@@ -76,25 +76,23 @@ BFieldMesh<T>::getCache(double z,
   // store the B field at the 8 corners
   const int im0 = iz * m_zoff + ir * m_roff + iphi; // index of the first corner
 
-  if (!m_doNew) {
-
-  std::array<BFieldVector<T>, 8> field = {
-    m_field[im0],
-    m_field[im0 + 1],
-    m_field[im0 + m_roff],
-    m_field[im0 + m_roff + 1],
-    m_field[im0 + m_zoff],
-    m_field[im0 + m_zoff + 1],
-    m_field[im0 + m_zoff + m_roff],
-    m_field[im0 + m_zoff + m_roff + 1]
-  };
+  
+  // ** The following field initialization is commented out, and replaced by subsequent matrix
+  // ** initialization as optimization test
+  
 
-  cache.setField(field, scaleFactor);
+  // std::array<BFieldVector<T>, 8> field = {
+  //   m_field[im0],
+  //   m_field[im0 + 1],
+  //   m_field[im0 + m_roff],
+  //   m_field[im0 + m_roff + 1],
+  //   m_field[im0 + m_zoff],
+  //   m_field[im0 + m_zoff + 1],
+  //   m_field[im0 + m_zoff + m_roff],
+  //   m_field[im0 + m_zoff + m_roff + 1]
+  // };
 
-  }
-  else {
-      
-  // cache.printField();
+  // cache.setField(field, scaleFactor);
 
   const double sf = scaleFactor;
 
@@ -126,12 +124,6 @@ BFieldMesh<T>::getCache(double z,
   };
   cache.setField(field1);
   
-  // cache.printField();
-
-  }
-  
-
-  
   // store the B scale
   cache.setBscale(m_scale);
 }
-- 
GitLab