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()(size_t loop_counter,
39 const Simulation::Getter& getter,
40 Core::PartialExporter& partial_exporter,
41 const CmaUtils::TransitionnerPtrType& transitioner);
42
56 void pre_post_export(const Simulation::Getter& getter,
57 const CmaUtils::TransitionnerPtrType& transitioner);
58
59private:
60 size_t dump_counter{};
61 size_t dump_interval{};
63 [[maybe_unused]] ExecInfo exec{};
64 std::shared_ptr<Core::MainExporter> main_exporter;
65
67};
68
69#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:66
size_t dump_interval
Definition host_export_handler.hpp:61
ExecInfo exec
Definition host_export_handler.hpp:63
std::shared_ptr< Core::MainExporter > main_exporter
Definition host_export_handler.hpp:64
size_t n_iter_simulation
Definition host_export_handler.hpp:62
size_t dump_counter
Definition host_export_handler.hpp:60
bool operator()(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:72
ExportHandler()=default
void pre_post_export(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:23
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:33
rust::Box< TransitionerWrapper > TransitionnerPtrType
Opaque type for flowmap transitioner.
Definition alias.hpp:14
Definition execinfo.hpp:21