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