From 7ae5cde5ee4c18ec8c0c2173d6328d8f0ed2c04b Mon Sep 17 00:00:00 2001
From: Nikos Karastathis <n.karastathis@kit.edu>
Date: Thu, 3 Jun 2021 12:57:47 +0200
Subject: [PATCH] Scalar multiplication in Vectors

---
 corsika/detail/framework/geometry/Vector.inl | 8 ++++++++
 corsika/framework/geometry/Vector.hpp        | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/corsika/detail/framework/geometry/Vector.inl b/corsika/detail/framework/geometry/Vector.inl
index 93907b944..703f2c222 100644
--- a/corsika/detail/framework/geometry/Vector.inl
+++ b/corsika/detail/framework/geometry/Vector.inl
@@ -238,4 +238,12 @@ namespace corsika {
     return os;
   }
 
+  /*
+   * scalar * vector multiplication
+   */
+  template <typename TDimension>
+  inline Vector<TDimension> operator*(double const n, Vector<TDimension> const& vec) {
+    return vec * n;
+  }
+
 } // namespace corsika
diff --git a/corsika/framework/geometry/Vector.hpp b/corsika/framework/geometry/Vector.hpp
index 2a4b34a19..5c97a6526 100644
--- a/corsika/framework/geometry/Vector.hpp
+++ b/corsika/framework/geometry/Vector.hpp
@@ -142,6 +142,9 @@ namespace corsika {
     auto dot(Vector<TDimension2> const& pV) const;
   };
 
+  template <typename TDimension>
+  Vector<TDimension> operator*(double const n, Vector<TDimension> const& vec);
+
 } // namespace corsika
 
 #include <corsika/detail/framework/geometry/Vector.inl>
-- 
GitLab