Skip to content
Snippets Groups Projects
Commit 3267caaa authored by Giovanna Lazzari Miotto's avatar Giovanna Lazzari Miotto :mushroom:
Browse files

Use control's run number to trigger EoR

parent 7c54078a
No related branches found
No related tags found
No related merge requests found
Pipeline #7281101 failed
......@@ -12,14 +12,16 @@
#include "tools.h"
void OutputByOrbitStream::MonitorEndOfRun() {
int latest_EoR = -1;
int latest_EoR = 0;
while (true) {
int current_run_number = output_file_handler_.GetCurrentRunNumber();
// int current_run_number = output_file_handler_.GetCurrentRunNumber();
int current_run_number = control_.run_number;
if (!control_.running && latest_EoR != current_run_number) {
// An unhandled run just stopped; wait N seconds in case the pipeline is still processing
// Write EoR file for the most recent run
if (output_file_handler_.isMainPipeline()) {
output_file_handler_.write_EoR_file();
output_file_handler_.setCurrentRunNumber(control_.run_number);
}
// Update local EoR tag
latest_EoR = current_run_number;
......
......@@ -250,6 +250,7 @@ void OutputFileHandler::write_EoR_file() {
EoR_file.close();
run_NOrbits_ = 0;
run_NFiles_ = 0;
current_index_ = 0;
}
void OutputFileHandler::check_if_all_raw_written() {
......
......@@ -95,6 +95,26 @@ class OutputFileHandler {
int nOrbitsPerFile_;
};
public:
size_t getLumisectionFileSize() { return ls_file_size_; }
uint32_t getLumisectionNOrbits() { return ls_NOrbits_; }
uint32_t getLumisectionNFiles() { return ls_NFiles_; }
uint32_t getRunNOrbits() { return run_NOrbits_; }
void updateLumisectionFileSize(size_t file_size) { ls_file_size_ += file_size; }
void updateLumisectionNOrbits(uint32_t NOrbits) { ls_NOrbits_ += NOrbits; }
void updateLumisectionNFiles(uint32_t NFiles) { ls_NFiles_ += NFiles; }
void updateRunNOrbits(uint32_t NOrbits) { run_NOrbits_ += NOrbits; }
void updateRunNFiles(uint32_t NFiles) { run_NFiles_ += NFiles; }
void setLumisectionFileSize(size_t file_size) { ls_file_size_ = file_size; }
void setLumisectionNOrbits(uint32_t NOrbits) { ls_NOrbits_ = NOrbits; }
void setLumisectionNFiles(uint32_t NFiles) { ls_NFiles_ = NFiles; }
void setRunNOrbits(uint32_t NOrbits) { run_NOrbits_ = NOrbits; }
void setRunNFiles(uint32_t NFiles) { run_NFiles_ = NFiles; }
void setCurrentRunNumber(int n) { current_run_number_ = n; }
private:
void create_output_directory_maybe(std::string &output_directory);
......@@ -121,23 +141,6 @@ class OutputFileHandler {
static std::atomic<bool> file_handler_running_;
size_t getLumisectionFileSize() { return ls_file_size_; }
uint32_t getLumisectionNOrbits() { return ls_NOrbits_; }
uint32_t getLumisectionNFiles() { return ls_NFiles_; }
uint32_t getRunNOrbits() { return run_NOrbits_; }
void updateLumisectionFileSize(size_t file_size) { ls_file_size_ += file_size; }
void updateLumisectionNOrbits(uint32_t NOrbits) { ls_NOrbits_ += NOrbits; }
void updateLumisectionNFiles(uint32_t NFiles) { ls_NFiles_ += NFiles; }
void updateRunNOrbits(uint32_t NOrbits) { run_NOrbits_ += NOrbits; }
void updateRunNFiles(uint32_t NFiles) { run_NFiles_ += NFiles; }
void setLumisectionFileSize(size_t file_size) { ls_file_size_ = file_size; }
void setLumisectionNOrbits(uint32_t NOrbits) { ls_NOrbits_ = NOrbits; }
void setLumisectionNFiles(uint32_t NFiles) { ls_NFiles_ = NFiles; }
void setRunNOrbits(uint32_t NOrbits) { run_NOrbits_ = NOrbits; }
void setRunNFiles(uint32_t NFiles) { run_NFiles_ = NFiles; }
std::string base_path_;
std::string run_dir_;
std::string filename_prefix_;
......@@ -154,7 +157,7 @@ class OutputFileHandler {
int numPipelines_;
std::thread t;
const uint32_t max_index_per_ls_;
size_t ls_file_size_;
size_t ls_file_size_{};
size_t file_size_{};
uint32_t NOrbits_{};
uint32_t ls_NOrbits_{};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment