From 1dafc37fef7d806fcf81f0e7dcd26c580edc00d8 Mon Sep 17 00:00:00 2001
From: Boris Martin <boris.martin.be@gmail.com>
Date: Tue, 28 Mar 2023 16:50:49 +0200
Subject: [PATCH] L2 distance can now compute best model fit

---
 specific/data/objective/l2distance.cpp | 16 +++++++++++++++-
 specific/data/objective/l2distance.h   |  2 ++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/specific/data/objective/l2distance.cpp b/specific/data/objective/l2distance.cpp
index e4f7a88..b100dca 100644
--- a/specific/data/objective/l2distance.cpp
+++ b/specific/data/objective/l2distance.cpp
@@ -45,7 +45,21 @@ namespace l2distance
         }
         return _v;
     }
+
+    template <Physic T_Physic>
+    std::vector < std::vector < std::complex<double>>> Objective<T_Physic>::improvedShotIntensity(const Data<T_Physic> &d1) const
+    {
+        throw Exception("Shot fitting only works in Physic::acoustic so far");
+        //return leastSquareShotIntensity(d1, d0);
+    }
+
+    template <>
+    std::vector<std::vector<std::complex<double>>> Objective<Physic::acoustic>::improvedShotIntensity(const Data<Physic::acoustic> &d1) const
+    {
+        return leastSquareShotIntensity(d1, d0);
+    }
+
     template class Objective<Physic::acoustic>;
     template class Objective<Physic::electromagnetic>;
     template class Objective<Physic::elastodynamic>;
-}
+}
\ No newline at end of file
diff --git a/specific/data/objective/l2distance.h b/specific/data/objective/l2distance.h
index 5015743..d066f0e 100644
--- a/specific/data/objective/l2distance.h
+++ b/specific/data/objective/l2distance.h
@@ -32,6 +32,8 @@ namespace l2distance
 
         virtual double performance(const Data<T_Physic>& d);
         virtual const Data<T_Physic>& update(Type type, const DataStateEvaluator<T_Physic>& ds);
+
+        std::vector<std::vector<std::complex<double>>> improvedShotIntensity(const Data<T_Physic>& d) const;
     };
 };
 
-- 
GitLab