44 columns_m.addColumn(
"t",
"double",
"ns",
"Time");
45 columns_m.addColumn(
"s",
"double",
"m",
"Path length");
46 columns_m.addColumn(
"azimuth",
"double",
"deg",
"Azimuth in global coordinates");
47 columns_m.addColumn(
"radius",
"double",
"mm",
"Radius in global coordinates");
48 columns_m.addColumn(
"numParticles",
"long",
"1",
"Number of Macro Particles");
49 columns_m.addColumn(
"energy",
"double",
"MeV",
"Mean Bunch Energy");
50 columns_m.addColumn(
"dE",
"double",
"MeV",
"energy spread of the beam");
52 columns_m.addColumn(
"rms_x",
"double",
"m",
"RMS Beamsize in x");
53 columns_m.addColumn(
"rms_y",
"double",
"m",
"RMS Beamsize in y");
54 columns_m.addColumn(
"rms_s",
"double",
"m",
"RMS Beamsize in s");
56 columns_m.addColumn(
"rms_px",
"double",
"1",
"RMS Normalized Momenta in x");
57 columns_m.addColumn(
"rms_py",
"double",
"1",
"RMS Normalized Momenta in y");
58 columns_m.addColumn(
"rms_ps",
"double",
"1",
"RMS Normalized Momenta in s");
60 columns_m.addColumn(
"emit_x",
"double",
"m",
"Normalized Emittance x");
61 columns_m.addColumn(
"emit_y",
"double",
"m",
"Normalized Emittance y");
62 columns_m.addColumn(
"emit_s",
"double",
"m",
"Normalized Emittance s");
64 columns_m.addColumn(
"mean_x",
"double",
"m",
"Mean Beam Position in x");
65 columns_m.addColumn(
"mean_y",
"double",
"m",
"Mean Beam Position in y");
66 columns_m.addColumn(
"mean_s",
"double",
"m",
"Mean Beam Position in s");
68 columns_m.addColumn(
"xpx",
"double",
"1",
"RMS Correlation xpx");
69 columns_m.addColumn(
"ypy",
"double",
"1",
"RMS Correlation ypy");
70 columns_m.addColumn(
"zpz",
"double",
"1",
"RMS Correlation zpz");
72 columns_m.addColumn(
"halo_x",
"double",
"1",
"Halo in x");
73 columns_m.addColumn(
"halo_y",
"double",
"1",
"Halo in y");
74 columns_m.addColumn(
"halo_z",
"double",
"1",
"Halo in z");
76 if (
mode_m == std::ios::app )
80 std::string dateStr(simtimer.
date());
81 std::string timeStr(simtimer.
time());
84 ss <<
"Multi Bunch Statistics data '"
86 <<
"' " << dateStr <<
" " << timeStr;
std::string getInputFn()
get opals input filename
static OpalData * getInstance()
long unsigned int nParticles
MultiBunchHandler::beaminfo_t beaminfo_t
MultiBunchDump(const std::string &fname, bool restart)
void write(const PartBunchBase< double, 3 > *beam, const beaminfo_t &binfo)
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)
StatBaseWriter(const std::string &fname, bool restart)
std::string date() const
Return date.
std::string time() const
Return time.