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