From b72c07f49b49a4c7264984d947f35036fea7fdbc Mon Sep 17 00:00:00 2001
From: Maximilian Reininghaus <maximilian.reininghaus@kit.edu>
Date: Wed, 4 Mar 2020 16:26:43 +0100
Subject: [PATCH] format track file

---
 Processes/TrackWriter/TrackWriter.cc | 14 +++++++++++---
 Processes/TrackWriter/TrackWriter.h  |  3 +++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Processes/TrackWriter/TrackWriter.cc b/Processes/TrackWriter/TrackWriter.cc
index 1bfe40add..70e0c6bb6 100644
--- a/Processes/TrackWriter/TrackWriter.cc
+++ b/Processes/TrackWriter/TrackWriter.cc
@@ -15,6 +15,7 @@
 #include <corsika/setup/SetupStack.h>
 #include <corsika/setup/SetupTrajectory.h>
 
+#include <iomanip>
 #include <limits>
 
 using namespace corsika::setup;
@@ -38,9 +39,16 @@ namespace corsika::process::track_writer {
     auto const delta = vT.GetPosition(1).GetCoordinates() - start;
     auto const pdg = static_cast<int>(particles::GetPDG(vP.GetPID()));
 
-    fFile << pdg << ' ' << vP.GetEnergy() / 1_eV << ' ' << start[0] / 1_m << ' '
-          << start[1] / 1_m << ' ' << start[2] / 1_m << "   " << delta[0] / 1_m << ' '
-          << delta[1] / 1_m << ' ' << delta[2] / 1_m << '\n';
+    // clang-format off
+    fFile << std::setw(7) << pdg
+          << std::setw(width) << std::scientific << std::setprecision(precision) << vP.GetEnergy() / 1_eV
+          << std::setw(width) << std::scientific << std::setprecision(precision) << start[0] / 1_m 
+          << std::setw(width) << std::scientific << std::setprecision(precision) << start[1] / 1_m
+          << std::setw(width) << std::scientific << std::setprecision(precision) << start[2] / 1_m
+          << std::setw(width) << std::scientific << std::setprecision(precision) << delta[0] / 1_m
+          << std::setw(width) << std::scientific << std::setprecision(precision) << delta[1] / 1_m
+          << std::setw(width) << std::scientific << std::setprecision(precision) << delta[2] / 1_m << '\n';
+    // clang-format on
 
     return process::EProcessReturn::eOk;
   }
diff --git a/Processes/TrackWriter/TrackWriter.h b/Processes/TrackWriter/TrackWriter.h
index 81f14c5e7..0a7054c74 100644
--- a/Processes/TrackWriter/TrackWriter.h
+++ b/Processes/TrackWriter/TrackWriter.h
@@ -36,6 +36,9 @@ namespace corsika::process::track_writer {
   private:
     std::string const fFilename;
     std::ofstream fFile;
+
+    int width = 14;
+    int precision = 6;
   };
 
 } // namespace corsika::process::track_writer
-- 
GitLab