19#ifndef OPAL_SDDS_WRITER_H
20#define OPAL_SDDS_WRITER_H
36template <
class T,
unsigned Dim>
43 typedef std::pair<std::string, std::string>
desc_t;
46 typedef std::tuple<std::string,
51 typedef std::pair<std::string, size_t>
data_t;
54 typedef std::tuple<std::string,
59 SDDSWriter(
const std::string& fname,
bool restart);
78 const std::string& content);
82 const std::string&
type,
83 const std::string& desc,
89 const std::string&
type,
90 const std::string& unit,
91 const std::string& desc);
93 void addInfo(
const std::string& mode,
94 const size_t& no_row_counts);
154 return std::filesystem::exists(
fname_m);
160 const std::string& content) {
161 desc_m = std::make_pair(text, content);
167 const std::string&
type,
168 const std::string& desc,
171 std::stringstream ss;
179 const size_t& no_row_counts) {
180 info_m = std::make_pair(mode, no_row_counts);
192 std::ostringstream ss;
void replaceVersionString()
SDDSWriter(const std::string &fname, bool restart)
std::tuple< std::string, std::string, std::string, std::string > cols_t
void rewindLines(size_t numberOfLines)
delete the last 'numberOfLines' lines of the file 'fileName'
virtual void write(PartBunchBase< double, 3 > *)
std::string toString(const T &val)
static constexpr unsigned int precision_m
double getLastValue(const std::string &column)
void addDefaultParameters()
void addDescription(const std::string &text, const std::string &content)
std::queue< std::string > paramValues_m
void writeHeader()
Write SDDS header.
std::ios_base::openmode mode_m
First write to the statistics output file.
std::tuple< std::string, std::string, std::string > param_t
void addInfo(const std::string &mode, const size_t &no_row_counts)
std::queue< param_t > params_m
std::pair< std::string, size_t > data_t
void addParameter(const std::string &name, const std::string &type, const std::string &desc, const T &value)
std::pair< std::string, std::string > desc_t
void addColumn(const std::string &name, const std::string &type, const std::string &unit, const std::string &desc)