Program Listing for File simulationResultWriter.h¶
↰ Return to documentation for file (include/parpeamici/simulationResultWriter.h
)
#ifndef PARPE_AMICI_SIMULATION_RESULT_WRITER_H
#define PARPE_AMICI_SIMULATION_RESULT_WRITER_H
#include <string>
#include <amici/amici.h>
#include <gsl/gsl-lite.hpp>
#include <H5Cpp.h>
namespace parpe {
class SimulationResultWriter {
public:
SimulationResultWriter() = default;
SimulationResultWriter(const H5::H5File &file, std::string rootPath);
SimulationResultWriter(std::string const& hdf5FileName,
std::string rootPath);
// Implement me
SimulationResultWriter(SimulationResultWriter const&) = delete;
~SimulationResultWriter();
void createDatasets(hsize_t numSimulations);
void createDatasets(int numberOfSimulations = 1);
void saveSimulationResults(const amici::ExpData *edata,
const amici::ReturnData *rdata,
int simulationIdx);
void saveTimepoints(gsl::span<const double> timepoints,
int simulationIdx) const;
void saveMeasurements(gsl::span<const double> measurements, int nt,
int nytrue, int simulationIdx) const;
void saveModelOutputs(gsl::span<const double> outputs, int nt,
int nytrue, int simulationIdx) const;
void saveStates(gsl::span<const double> states, int nt, int nx,
int simulationIdx) const;
void saveParameters(gsl::span<const double> parameters,
int simulationIdx) const;
void saveLikelihood(double llh, int simulationIdx) const;
H5::H5File reopenFile();
bool saveX = false;
bool saveLlh = false;
// bool saveSllh = false;
bool saveYSim = false;
bool saveYMes = false;
bool save_parameters_ = false;
// bool saveK = false;
std::string yMesPath;
std::string ySimPath;
std::string xPath;
std::string llhPath;
std::string timePath;
std::string parametersPath;
private:
void updatePaths();
std::string rootPath;
H5::H5File file;
};
} // namespace parpe
#endif