From 93ca708f5e1c51e4a33f59fb816e9402f8ba2652 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Fri, 11 Dec 2020 01:56:48 +0100
Subject: [PATCH] GSF, move methods that do not need to be class member (i.e
 not use anything from this) to be in an anonymous namespace

---
 .../TrkGaussianSumFilter/GaussianSumFitter.h  |  4 -
 .../TrkGaussianSumFilter/GsfExtrapolator.h    |  7 --
 .../GsfMaterialEffectsUpdator.h               |  3 -
 .../GsfMaterialMixtureConvolution.h           |  2 -
 .../src/GaussianSumFitter.cxx                 | 57 +++++++-------
 .../src/GsfExtrapolator.cxx                   | 76 +++++++++----------
 .../src/GsfMaterialEffectsUpdator.cxx         | 33 ++++----
 .../src/GsfMaterialMixtureConvolution.cxx     | 26 ++++---
 8 files changed, 95 insertions(+), 113 deletions(-)

diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GaussianSumFitter.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GaussianSumFitter.h
index 2e57ce8ad6b1..84887a8093c1 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GaussianSumFitter.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GaussianSumFitter.h
@@ -117,10 +117,6 @@ private:
     const SmoothedTrajectory&,
     const ParticleHypothesis particleHypothesis = nonInteracting) const;
 
-  //* Calculate the fit quality */
-  std::unique_ptr<Trk::FitQuality> buildFitQuality(
-    const Trk::SmoothedTrajectory&) const;
-
   /** Gsf smoothe trajectory*/
   std::unique_ptr<SmoothedTrajectory> fit(
     const EventContext& ctx,
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
index 8f41475d80b3..c0d6172e6fd9 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfExtrapolator.h
@@ -252,13 +252,6 @@ private:
     PropDirection direction = anyDirection,
     ParticleHypothesis particleHypothesis = nonInteracting) const;
 
-  std::string layerRZoutput(const Trk::Layer* lay) const;
-
-  std::string positionOutput(const Amg::Vector3D& pos) const;
-
-  int radialDirection(const Trk::MultiComponentState& pars,
-                      PropDirection dir) const;
-
   ToolHandleArray<IPropagator> m_propagators{ this, "Propagators", {}, "" };
   ToolHandle<INavigator> m_navigator{ this,
                                       "Navigator",
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialEffectsUpdator.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialEffectsUpdator.h
index 2d9b1750200c..da249730e4ee 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialEffectsUpdator.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialEffectsUpdator.h
@@ -83,9 +83,6 @@ private:
     PropDirection direction = anyDirection,
     ParticleHypothesis particleHypothesis = nonInteracting) const;
 
-  /** Method to calculate the updated momentum based on material effects */
-  bool updateP(AmgVector(5) &, double) const;
-
 private:
   ToolHandle<IMultiStateMaterialEffects> m_materialEffects{
     this,
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialMixtureConvolution.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialMixtureConvolution.h
index 7eb271c1cf36..0cd12260c05b 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialMixtureConvolution.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/GsfMaterialMixtureConvolution.h
@@ -119,8 +119,6 @@ private:
     Trk::ParticleHypothesis particleHypothesis,
     MaterialUpdateType updateType) const;
 
-  bool updateP(double& qOverP, double deltaP) const;
-
   std::pair<const Trk::MaterialProperties*, double> getMaterialProperties(
     const Trk::TrackParameters* trackParameters,
     const Trk::Layer& layer) const;
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GaussianSumFitter.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GaussianSumFitter.cxx
index d30ea966bfc3..c1e22ae4ea43 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GaussianSumFitter.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GaussianSumFitter.cxx
@@ -31,6 +31,35 @@
 #include <algorithm>
 #include <vector>
 
+namespace {
+std::unique_ptr<Trk::FitQuality>
+buildFitQuality(const Trk::SmoothedTrajectory& smoothedTrajectory)
+{
+
+  double chiSquared = 0.;
+  int numberDoF = -5;
+  // Loop over all TrackStateOnSurface objects in trajectory
+  Trk::SmoothedTrajectory::const_iterator stateOnSurface =
+    smoothedTrajectory.begin();
+  for (; stateOnSurface != smoothedTrajectory.end(); ++stateOnSurface) {
+    if (!(*stateOnSurface)->type(Trk::TrackStateOnSurface::Measurement)) {
+      continue;
+    }
+    if ((*stateOnSurface)->fitQualityOnSurface() == nullptr) {
+      continue;
+    }
+    chiSquared += (*stateOnSurface)->fitQualityOnSurface()->chiSquared();
+    numberDoF += (*stateOnSurface)->fitQualityOnSurface()->numberDoF();
+  }
+
+  if (std::isnan(chiSquared) || chiSquared <= 0.) {
+    return nullptr;
+  }
+
+  return std::make_unique<Trk::FitQuality>(chiSquared, numberDoF);
+}
+}
+
 Trk::GaussianSumFitter::GaussianSumFitter(const std::string& type,
                                           const std::string& name,
                                           const IInterface* parent)
@@ -721,34 +750,6 @@ Trk::GaussianSumFitter::makePerigee(
   return perigeeMultiStateOnSurface;
 }
 
-std::unique_ptr<Trk::FitQuality>
-Trk::GaussianSumFitter::buildFitQuality(
-  const Trk::SmoothedTrajectory& smoothedTrajectory) const
-{
-
-  double chiSquared = 0.;
-  int numberDoF = -5;
-  // Loop over all TrackStateOnSurface objects in trajectory
-  SmoothedTrajectory::const_iterator stateOnSurface =
-    smoothedTrajectory.begin();
-  for (; stateOnSurface != smoothedTrajectory.end(); ++stateOnSurface) {
-    if (!(*stateOnSurface)->type(TrackStateOnSurface::Measurement)) {
-      continue;
-    }
-    if ((*stateOnSurface)->fitQualityOnSurface() == nullptr) {
-      continue;
-    }
-    chiSquared += (*stateOnSurface)->fitQualityOnSurface()->chiSquared();
-    numberDoF += (*stateOnSurface)->fitQualityOnSurface()->numberDoF();
-  }
-
-  if (std::isnan(chiSquared) || chiSquared <= 0.) {
-    return nullptr;
-  }
-
-  return std::make_unique<FitQuality>(chiSquared, numberDoF);
-}
-
 /*
  * Forwards fit on a set of PrepRawData
  */
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
index 1b8dc6a944c0..48f106874d75 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfExtrapolator.cxx
@@ -35,6 +35,44 @@
 
 namespace {
 const bool useBoundaryMaterialUpdate(true);
+
+std::string
+layerRZoutput(const Trk::Layer* lay)
+{
+  std::string result("NULL");
+  if (not lay) {
+    return result;
+  }
+  result = "[r,z] = [ " +
+           std::to_string(lay->surfaceRepresentation().bounds().r()) + ", " +
+           std::to_string(lay->surfaceRepresentation().center().z()) +
+           " ] - Index ";
+  result += std::to_string(lay->layerIndex().value());
+  return result;
+}
+
+std::string
+positionOutput(const Amg::Vector3D& pos)
+{
+  std::stringstream outStream;
+  outStream << "[r,phi,z] = [ " << pos.perp() << ", " << pos.phi() << ", "
+            << pos.z() << " ]";
+  return outStream.str();
+}
+
+int
+radialDirection(const Trk::MultiComponentState& pars, Trk::PropDirection dir)
+{
+  // safe inbound/outbound estimation
+  double prePositionR = pars.begin()->first->position().perp();
+  return (prePositionR >
+          (pars.begin()->first->position() +
+           dir * 0.5 * prePositionR * pars.begin()->first->momentum().unit())
+            .perp())
+           ? -1
+           : 1;
+}
+
 }
 
 Trk::GsfExtrapolator::GsfExtrapolator(const std::string& type,
@@ -1578,44 +1616,6 @@ Trk::GsfExtrapolator::addMaterialtoVector(Cache& cache,
   }
 }
 
-std::string
-Trk::GsfExtrapolator::layerRZoutput(const Trk::Layer* lay) const
-{
-  std::string result("NULL");
-  if (not lay) {
-    return result;
-  }
-  result = "[r,z] = [ " +
-           std::to_string(lay->surfaceRepresentation().bounds().r()) + ", " +
-           std::to_string(lay->surfaceRepresentation().center().z()) +
-           " ] - Index ";
-  result += std::to_string(lay->layerIndex().value());
-  return result;
-}
-
-std::string
-Trk::GsfExtrapolator::positionOutput(const Amg::Vector3D& pos) const
-{
-  std::stringstream outStream;
-  outStream << "[r,phi,z] = [ " << pos.perp() << ", " << pos.phi() << ", "
-            << pos.z() << " ]";
-  return outStream.str();
-}
-
-int
-Trk::GsfExtrapolator::radialDirection(const Trk::MultiComponentState& pars,
-                                      PropDirection dir) const
-{
-  // safe inbound/outbound estimation
-  double prePositionR = pars.begin()->first->position().perp();
-  return (prePositionR >
-          (pars.begin()->first->position() +
-           dir * 0.5 * prePositionR * pars.begin()->first->momentum().unit())
-            .perp())
-           ? -1
-           : 1;
-}
-
 bool
 Trk::GsfExtrapolator::radialDirectionCheck(
   const EventContext& ctx,
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialEffectsUpdator.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialEffectsUpdator.cxx
index 029b45610157..85684a8a0b77 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialEffectsUpdator.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialEffectsUpdator.cxx
@@ -8,7 +8,6 @@
  * @brief         Implementation code for the class GsfMaterialEffectsUpdator
  */
 
-
 #include "TrkGaussianSumFilter/GsfMaterialEffectsUpdator.h"
 
 #include "TrkGaussianSumFilter/IMultiStateMaterialEffects.h"
@@ -19,6 +18,20 @@
 
 #include "TrkGeometry/Layer.h"
 #include "TrkGeometry/MaterialProperties.h"
+namespace {
+bool
+updateP(AmgVector(5) & stateVector, double deltaP)
+{
+  double p = 1. / std::abs(stateVector[Trk::qOverP]);
+  p += deltaP;
+  if (p <= 0.) {
+    return false;
+  }
+  double updatedIp = stateVector[Trk::qOverP] > 0. ? 1. / p : -1. / p;
+  stateVector[Trk::qOverP] = updatedIp;
+  return true;
+}
+}
 
 Trk::GsfMaterialEffectsUpdator::GsfMaterialEffectsUpdator(
   const std::string& type,
@@ -435,21 +448,3 @@ Trk::GsfMaterialEffectsUpdator::compute(
   return computedState;
 }
 
-/* ============================================================================
-   updateP method
-   ============================================================================
- */
-
-bool
-Trk::GsfMaterialEffectsUpdator::updateP(AmgVector(5) & stateVector,
-                                        double deltaP) const
-{
-  double p = 1. / std::abs(stateVector[Trk::qOverP]);
-  p += deltaP;
-  if (p <= 0.) {
-    return false;
-  }
-  double updatedIp = stateVector[Trk::qOverP] > 0. ? 1. / p : -1. / p;
-  stateVector[Trk::qOverP] = updatedIp;
-  return true;
-}
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
index ea0daa7e41f0..f930873e6687 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
@@ -23,6 +23,20 @@
 #include "TrkMultiComponentStateOnSurface/MultiComponentState.h"
 #include "TrkSurfaces/PerigeeSurface.h"
 
+namespace {
+bool
+updateP(double& qOverP, double deltaP)
+{
+  double p = 1. / std::abs(qOverP);
+  p += deltaP;
+  if (p <= 0.) {
+    return false;
+  }
+  qOverP = qOverP > 0. ? 1. / p : -1. / p;
+  return true;
+}
+}
+
 Trk::GsfMaterialMixtureConvolution::GsfMaterialMixtureConvolution(
   const std::string& type,
   const std::string& name,
@@ -443,18 +457,6 @@ Trk::GsfMaterialMixtureConvolution::update(
   return mergedState;
 }
 
-bool
-Trk::GsfMaterialMixtureConvolution::updateP(double& qOverP, double deltaP) const
-{
-  double p = 1. / std::abs(qOverP);
-  p += deltaP;
-  if (p <= 0.) {
-    return false;
-  }
-  qOverP = qOverP > 0. ? 1. / p : -1. / p;
-  return true;
-}
-
 std::pair<const Trk::MaterialProperties*, double>
 Trk::GsfMaterialMixtureConvolution::getMaterialProperties(
   const Trk::TrackParameters* trackParameters,
-- 
GitLab