From 9e79aa47070135a7f1600029554c04cf32ff4c2c Mon Sep 17 00:00:00 2001 From: Luis Antonio Obis Aparicio Date: Sun, 18 Aug 2024 21:04:28 +0200 Subject: [PATCH] output directory fix --- src/mclient/cmdfetcher.cpp | 6 ++++-- src/mclient/evbuilder.cpp | 3 ++- src/root/storage.h | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mclient/cmdfetcher.cpp b/src/mclient/cmdfetcher.cpp index 198af18..c8f104f 100644 --- a/src/mclient/cmdfetcher.cpp +++ b/src/mclient/cmdfetcher.cpp @@ -27,6 +27,7 @@ as 4th or 5th argument in any command #include "cmdfetcher.h" #include "evbuilder.h" #include "femarray.h" +#include "storage.h" #include #include @@ -365,9 +366,10 @@ int CmdFetcher_Main(CmdFetcher* cf) { fprintf(fRunInfo, "%s\n", detectorStr); fclose(fRunInfo); + const auto output_directory = mclient_storage::StorageManager::Instance().GetOutputDirectory(); if (savePed) { sprintf(tmpStr, "cp ped %s/R%05d_%s_Vm_%s_Vd_%s_Pr_%s_Gain_%s_Shape_%s_Clock_%s.ped", - getenv("RAWDATA_PATH"), runNumber, runTagStr, meshVoltageStr, driftFieldStr, + output_directory.c_str(), runNumber, runTagStr, meshVoltageStr, driftFieldStr, detectorPressureStr, gainStr, shapingStr, clockStr); system(tmpStr); savePed = 0; @@ -375,7 +377,7 @@ int CmdFetcher_Main(CmdFetcher* cf) { sprintf(tmpStr, "cp %s %s/R%05d_%s_Vm_%s_Vd_%s_Pr_%s_Gain_%s_Shape_%s_Clock_%s.run", cf->cmd_file, - getenv("RAWDATA_PATH"), runNumber, runTagStr, meshVoltageStr, driftFieldStr, + output_directory.c_str(), runNumber, runTagStr, meshVoltageStr, driftFieldStr, detectorPressureStr, gainStr, shapingStr, clockStr); system(tmpStr); savePed = 0; diff --git a/src/mclient/evbuilder.cpp b/src/mclient/evbuilder.cpp index a794d45..30b372d 100644 --- a/src/mclient/evbuilder.cpp +++ b/src/mclient/evbuilder.cpp @@ -1264,7 +1264,8 @@ int EventBuilder_FileAction(EventBuilder* eb, eb->subrun_ix++; } - sprintf(&(eb->file_path[0]), "%s", getenv("RAWDATA_PATH")); + const auto output_directory = mclient_storage::StorageManager::Instance().GetOutputDirectory(); + sprintf(&(eb->file_path[0]), "%s", output_directory.c_str()); char filename_root[120] = {}; sprintf(filename_root, "%s/%s.%s", &(eb->file_path[0]), diff --git a/src/root/storage.h b/src/root/storage.h index fc4c9dc..08130a0 100644 --- a/src/root/storage.h +++ b/src/root/storage.h @@ -105,6 +105,9 @@ class StorageManager { } void SetOutputDirectory(const std::string& directory); + std::string GetOutputDirectory() const { + return output_directory; + } private: // make it a point in the past to force a checkpoint on the first event