BioCMAMC-ST
host_export_handler.hpp
1#ifndef __CORE_HOST_EXPORT_HANDLER_HPP__
2#define __CORE_HOST_EXPORT_HANDLER_HPP__
3
4#include <cma_utils/alias.hpp>
5#include <dataexporter/main_exporter.hpp>
6#include <dataexporter/partial_exporter.hpp>
7#include <progress_bar.hpp>
8#include <simulation/simulation_getter.hpp>
9
10class ExportHandler final
11{
12
13public:
14 ExportHandler() = default;
15
16 ExportHandler(std::shared_ptr<Core::MainExporter> _main_exporter,
17 ExecInfo _exec,
18 std::size_t _dump_interval,
19 std::size_t _n_iter_simulation);
20
38 bool operator()(double current_time,
39 size_t loop_counter,
40 const Simulation::Getter& getter,
41 Core::PartialExporter& partial_exporter,
42 const CmaUtils::TransitionnerPtrType& transitioner);
43
57 void pre_post_export(double current_time,
58 const Simulation::Getter& getter,
59
60 const CmaUtils::TransitionnerPtrType& transitioner);
61
62private:
63 size_t dump_counter{};
64 size_t dump_interval{};
66 [[maybe_unused]] ExecInfo exec{};
67 std::shared_ptr<Core::MainExporter> main_exporter;
68
70};
71
72#endif
Exporter for each MPI worker (including host) that exports data relative to particle state.
Definition partial_exporter.hpp:28
IO::ProgressBar progressbar
Definition host_export_handler.hpp:69
void pre_post_export(double current_time, const Simulation::Getter &getter, const CmaUtils::TransitionnerPtrType &transitioner)
Prepares and updates the exporter with the current simulation state before/after main loop.
Definition host_export_handler.cpp:22
bool operator()(double current_time, size_t loop_counter, const Simulation::Getter &getter, Core::PartialExporter &partial_exporter, const CmaUtils::TransitionnerPtrType &transitioner)
Handles periodic export of simulation data.
Definition host_export_handler.cpp:69
size_t dump_interval
Definition host_export_handler.hpp:64
ExecInfo exec
Definition host_export_handler.hpp:66
std::shared_ptr< Core::MainExporter > main_exporter
Definition host_export_handler.hpp:67
size_t n_iter_simulation
Definition host_export_handler.hpp:65
size_t dump_counter
Definition host_export_handler.hpp:63
ExportHandler()=default
ExportHandler(std::shared_ptr< Core::MainExporter > _main_exporter, ExecInfo _exec, std::size_t _dump_interval, std::size_t _n_iter_simulation)
Definition progress_bar.hpp:8
Definition simulation_getter.hpp:15
rust::Box< TransitionerWrapper > TransitionnerPtrType
Opaque type for flowmap transitioner.
Definition alias.hpp:14
Definition execinfo.hpp:12