From 2a6948d3ffe5399e31bd9c095b5abb4ab266c694 Mon Sep 17 00:00:00 2001
From: Michael Reuscher <michael.reuscher@desy.de>
Date: Wed, 12 Jul 2023 15:03:35 +0200
Subject: [PATCH] communication between simrunner and controller now in

---
 controller/controller/DataFrameCreator.py   |  3 ++-
 controller/controller/data_folder_path.json |  1 +
 controller/controller/main.py               | 17 ++++++-------
 simrunner/simrunner.py                      | 27 ++++++++++++---------
 4 files changed, 27 insertions(+), 21 deletions(-)
 create mode 100644 controller/controller/data_folder_path.json

diff --git a/controller/controller/DataFrameCreator.py b/controller/controller/DataFrameCreator.py
index 1bcd4f5..0df1e33 100644
--- a/controller/controller/DataFrameCreator.py
+++ b/controller/controller/DataFrameCreator.py
@@ -21,7 +21,8 @@ class DataFrameCreator:
                         inner_dict = dfs[dataframe_type]
                         if dataframe_name in inner_dict:
                             # DataFrame hinzufügen
-                            inner_dict[dataframe_name] = pd.concat([inner_dict[dataframe_name], dataframe], ignore_index=True)
+                            inner_dict[dataframe_name] = pd.concat([inner_dict[dataframe_name], dataframe],
+                                                                   ignore_index=True)
                         else:
                             inner_dict[dataframe_name] = dataframe
                     else:
diff --git a/controller/controller/data_folder_path.json b/controller/controller/data_folder_path.json
new file mode 100644
index 0000000..b6517ca
--- /dev/null
+++ b/controller/controller/data_folder_path.json
@@ -0,0 +1 @@
+"/home/user/Projekt/detectorwritesim/output1"
\ No newline at end of file
diff --git a/controller/controller/main.py b/controller/controller/main.py
index 9ede88c..d1d8a56 100644
--- a/controller/controller/main.py
+++ b/controller/controller/main.py
@@ -1,19 +1,18 @@
 import os
-import numpy as np
-import pandas as pd
-import datetime
+import json
 import matplotlib
-import matplotlib.pyplot as plt
-import seaborn as sns
-from .SeabornPlotter import SeabornPlotter
-from .DataFrameCreator import DataFrameCreator
+from DataFrameCreator import DataFrameCreator
+from SeabornPlotter import SeabornPlotter
 matplotlib.use('TkAgg')
 
 
 # --------------Main------------
 def main():
-    folder_path = '/home/user/C++/detectorwritesim/output'
-    creator = DataFrameCreator(folder_path)
+    json_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data_folder_path.json')
+    with open(json_path, "r") as file:
+        data_folder = json.load(file)
+
+    creator = DataFrameCreator(data_folder)
     dataframes = creator.create_dataframes()
     plotter = SeabornPlotter(dataframes['write'])
 
diff --git a/simrunner/simrunner.py b/simrunner/simrunner.py
index 4d6ecb0..efa3021 100644
--- a/simrunner/simrunner.py
+++ b/simrunner/simrunner.py
@@ -4,7 +4,8 @@ import subprocess
 
 
 def read_config():
-    with open("simrunner/data_config.json", "r") as file:
+    config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data_config.json')
+    with open(config_path, "r") as file:
         d_config = json.load(file)
     return d_config
 
@@ -30,10 +31,10 @@ def set_arguments(data_config):
     return e_list
 
 
-def run_sim(e_list, m_folder, s_path):
+def run_sim(e_list, d_path, s_path):
     for event in e_list:
         folder_name = event[-1]
-        relativ_path = os.path.join(m_folder, "output1", folder_name)
+        relativ_path = os.path.join(d_path, "output1", folder_name)
         os.makedirs(relativ_path, mode=0o777, exist_ok=True)
         event[-1] = relativ_path
         arguments = event
@@ -41,14 +42,18 @@ def run_sim(e_list, m_folder, s_path):
         print(output)
 
 
-skript_path = os.path.abspath(__file__)
-main_folder = os.path.dirname(os.path.dirname(skript_path))
-data_path = os.path.join(main_folder, "protokoll")
-sim_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim")
-os.makedirs(data_path, mode=0o777, exist_ok=True)
+def give_controller(d_path):
+    json_path = os.path.join(main_folder, 'controller', 'controller', 'data_folder_path.json')
+    with open(json_path, "w") as file:
+        json.dump(d_path, file)
 
-event_list = set_arguments(read_config())
-print(event_list)
-run_sim(event_list, main_folder, sim_path)
 
+main_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+data_path = os.path.join(main_folder, "output1")
+protokoll_path = os.path.join(main_folder, "protokoll")
+os.makedirs(protokoll_path, mode=0o777, exist_ok=True)
+sim_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim")
 
+give_controller(data_path)
+event_list = set_arguments(read_config())
+run_sim(event_list, data_path, sim_path)
-- 
GitLab