26#include "OPALconfig.h"
46 columns_m.addColumn(
"t",
"double",
"ns",
"Time");
49 std::stringstream tmp1;
50 tmp1 <<
"\"processor-" << p <<
"\"";
52 std::stringstream tmp2;
53 tmp2 <<
"Number of particles of processor " << p;
55 columns_m.addColumn(tmp1.str(),
"long",
"1", tmp2.str());
61 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
63 for (
int lev = 0; lev < nLevel; ++lev) {
64 std::stringstream tmp1;
65 tmp1 <<
"\"level-" << lev <<
"\"";
67 std::stringstream tmp2;
68 tmp2 <<
"Number of particles at level " << lev;
69 columns_m.addColumn(tmp1.str(),
"long",
"1", tmp2.str());
74 if (
mode_m == std::ios::app ) {
79 std::string dateStr(simtimer.
date());
80 std::string timeStr(simtimer.
time());
83 ss <<
"Processor statistics '"
85 << dateStr <<
"" << timeStr;
97 amrbeam->gatherLevelStatistics();
116 for (
size_t p = 0; p < nProcs; ++ p) {
117 std::stringstream ss;
118 ss <<
"\"processor-" << p <<
"\"";
124 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
125 for (
int lev = 0; lev < nLevel; ++lev) {
126 std::stringstream ss;
127 ss <<
"\"level-" << lev <<
"\"";
128 columns_m.addColumnValue(ss.str(), amrbeam->getLevelStatistics(lev));
size_t getLoadBalance(int p) const
std::string getInputFn()
get opals input filename
static OpalData * getInstance()
void write(PartBunchBase< double, 3 > *beam) override
LBalWriter(const std::string &fname, bool restart)
void fillHeader(PartBunchBase< double, 3 > *beam)
SDDSWriter(const std::string &fname, bool restart)
void addDefaultParameters()
void addDescription(const std::string &text, const std::string &content)
void writeHeader()
Write SDDS header.
std::ios_base::openmode mode_m
First write to the statistics output file.
void addInfo(const std::string &mode, const size_t &no_row_counts)
std::string date() const
Return date.
std::string time() const
Return time.