From b0447e269b262015af62951fd0589251756c5803 Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Mon, 14 Feb 2022 16:08:06 +0100
Subject: [PATCH] L1Algo init: updates

---
 reco/L1/L1Algo/L1Algo.cxx      | 2 ++
 reco/L1/L1Algo/L1InitManager.h | 4 ++++
 reco/L1/L1Algo/L1Parameters.h  | 9 +++++----
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/reco/L1/L1Algo/L1Algo.cxx b/reco/L1/L1Algo/L1Algo.cxx
index 5b2a9dbfb0..4e558d9ffd 100644
--- a/reco/L1/L1Algo/L1Algo.cxx
+++ b/reco/L1/L1Algo/L1Algo.cxx
@@ -245,6 +245,8 @@ void L1Algo::Init(const L1Vector<fscal>& geo, const bool UseHitErrors, const Tra
   // Fill L1Station array
   fInitManager.TransferL1StationArray(fStationsNew);
 
+  // Fill L1CAIteration array
+  fInitManager.Tra
 
   LOG(debug) << "**********************************************************************";
   LOG(debug) << "*  New L1Algo initialization cross check  (tmp log, to be removed!)  *";
diff --git a/reco/L1/L1Algo/L1InitManager.h b/reco/L1/L1Algo/L1InitManager.h
index e88a58a22c..0bd0f8e518 100644
--- a/reco/L1/L1Algo/L1InitManager.h
+++ b/reco/L1/L1Algo/L1InitManager.h
@@ -201,6 +201,10 @@ private:
 
   L1Vector<L1CAIteration> fCAIterationsContainer {};  ///> Container for CA track finder iterations
   int fCAIterationsNumberCrosscheck {-1};  ///> Number of iterations to be passed (must be used for cross-checks)
+
+  /* Pointer to L1Parameters object */
+  /// Pointer to L1Parameters object, which will be copied to L1Algo after checks
+  L1Parameters * fParametersPtr {nullptr};
 };
 
 #endif
diff --git a/reco/L1/L1Algo/L1Parameters.h b/reco/L1/L1Algo/L1Parameters.h
index 539325cf45..74396339d3 100644
--- a/reco/L1/L1Algo/L1Parameters.h
+++ b/reco/L1/L1Algo/L1Parameters.h
@@ -75,8 +75,6 @@ public:
   void SetMaxDoubletsPerSinglet(unsigned int value) { fMaxDoubletsPerSinglet = value; }
   /// Sets upper-bound cut on max number of triplets per one doublet
   void SetMaxTripletPerDoublets(unsigned int value) { fMaxTripletPerDoublets = value; }
-  /// Sets the vector of track finder iterations
-  void SetCAIterations(const L1Vector<L1CAIteration>& input) { fCAIterationsContainer = input; }
 
   //
   // GETTERS
@@ -85,8 +83,11 @@ public:
   unsigned int GetMaxDoubletsPerSinglet() const { return fMaxDoubletsPerSinglet; }
   /// Gets upper-bound cut on max number of triplets per one doublet
   unsigned int GetMaxTripletPerDoublets() const { return fMaxTripletPerDoublets; }
-  /// Gets track finder iteration vector
-  const L1Vector<L1CAIteration>& GetCAIterations() const { return fCAIterationsContainer; }
+
+  /// Provides access to L1CAIteration vector (modifiable)
+  L1Vector<L1CAIteration>& CAIterationsContainer() { return fCAIterationsContainer; }
+  /// Provides access to L1CAIteration vector (const)
+  const L1Vector<L1CAIteration>& CAIterationsContainer() const { return fCAIterationsContainer; }
 
 
 private:
-- 
GitLab