OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Structure
MonitorStatisticsWriter.cpp
Go to the documentation of this file.
1
#include "
MonitorStatisticsWriter.h
"
2
3
#include "
Structure/LossDataSink.h
"
4
#include "
Ippl.h
"
5
6
MonitorStatisticsWriter::MonitorStatisticsWriter
(
const
std::string& fname,
bool
restart)
7
:
SDDSWriter
(fname, restart)
8
{ }
9
10
11
void
MonitorStatisticsWriter::fillHeader
() {
12
13
if
(this->
hasColumns
()) {
14
return
;
15
}
16
17
this->
addDescription
(
"Statistics data of monitors"
,
18
"stat parameters"
);
19
this->
addDefaultParameters
();
20
21
columns_m
.
addColumn
(
"name"
,
"string"
,
""
,
"Monitor name"
);
22
columns_m
.
addColumn
(
"s"
,
"double"
,
"m"
,
"Longitudinal Position"
);
23
columns_m
.
addColumn
(
"t"
,
"double"
,
"ns"
,
"Passage Time Reference Particle"
);
24
columns_m
.
addColumn
(
"numParticles"
,
"long"
,
"1"
,
"Number of Macro Particles"
);
25
columns_m
.
addColumn
(
"rms_x"
,
"double"
,
"m"
,
"RMS Beamsize in x"
);
26
columns_m
.
addColumn
(
"rms_y"
,
"double"
,
"m"
,
"RMS Beamsize in y"
);
27
columns_m
.
addColumn
(
"rms_s"
,
"double"
,
"m"
,
"RMS Beamsize in s"
);
28
columns_m
.
addColumn
(
"rms_t"
,
"double"
,
"ns"
,
"RMS Passage Time"
);
29
columns_m
.
addColumn
(
"rms_px"
,
"double"
,
"1"
,
"RMS Momenta in x"
);
30
columns_m
.
addColumn
(
"rms_py"
,
"double"
,
"1"
,
"RMS Momenta in y"
);
31
columns_m
.
addColumn
(
"rms_ps"
,
"double"
,
"1"
,
"RMS Momenta in s"
);
32
columns_m
.
addColumn
(
"emit_x"
,
"double"
,
"m"
,
"Normalized Emittance x"
);
33
columns_m
.
addColumn
(
"emit_y"
,
"double"
,
"m"
,
"Normalized Emittance y"
);
34
columns_m
.
addColumn
(
"emit_s"
,
"double"
,
"m"
,
"Normalized Emittance s"
);
35
columns_m
.
addColumn
(
"mean_x"
,
"double"
,
"m"
,
"Mean Beam Position in x"
);
36
columns_m
.
addColumn
(
"mean_y"
,
"double"
,
"m"
,
"Mean Beam Position in y"
);
37
columns_m
.
addColumn
(
"mean_s"
,
"double"
,
"m"
,
"Mean Beam Position in s"
);
38
columns_m
.
addColumn
(
"mean_t"
,
"double"
,
"ns"
,
"Mean Passage Time"
);
39
columns_m
.
addColumn
(
"ref_x"
,
"double"
,
"m"
,
"x coordinate of reference particle in lab cs"
);
40
columns_m
.
addColumn
(
"ref_y"
,
"double"
,
"m"
,
"y coordinate of reference particle in lab cs"
);
41
columns_m
.
addColumn
(
"ref_z"
,
"double"
,
"m"
,
"z coordinate of reference particle in lab cs"
);
42
columns_m
.
addColumn
(
"ref_px"
,
"double"
,
"1"
,
"x momentum of reference particle in lab cs"
);
43
columns_m
.
addColumn
(
"ref_py"
,
"double"
,
"1"
,
"y momentum of reference particle in lab cs"
);
44
columns_m
.
addColumn
(
"ref_pz"
,
"double"
,
"1"
,
"z momentum of reference particle in lab cs"
);
45
columns_m
.
addColumn
(
"min_x"
,
"double"
,
"m"
,
"Max Beamsize in x"
);
46
columns_m
.
addColumn
(
"min_y"
,
"double"
,
"m"
,
"Max Beamsize in y"
);
47
columns_m
.
addColumn
(
"min_s"
,
"double"
,
"m"
,
"Max Beamsize in s"
);
48
columns_m
.
addColumn
(
"max_x"
,
"double"
,
"m"
,
"Max Beamsize in x"
);
49
columns_m
.
addColumn
(
"max_y"
,
"double"
,
"m"
,
"Max Beamsize in y"
);
50
columns_m
.
addColumn
(
"max_s"
,
"double"
,
"m"
,
"Max Beamsize in s"
);
51
columns_m
.
addColumn
(
"xpx"
,
"double"
,
"1"
,
"Correlation xpx"
);
52
columns_m
.
addColumn
(
"ypy"
,
"double"
,
"1"
,
"Correlation ypy"
);
53
columns_m
.
addColumn
(
"zpz"
,
"double"
,
"1"
,
"Correlation zpz"
);
54
55
this->
addInfo
(
"ascii"
, 1);
56
}
57
58
59
void
MonitorStatisticsWriter::addRow
(
const
SetStatistics
&set) {
60
61
if
(
Ippl::myNode
() != 0 )
62
return
;
63
64
65
this->
fillHeader
();
66
67
this->
open
();
68
69
this->
writeHeader
();
70
71
columns_m
.
addColumnValue
(
"name"
, set.
element_m
);
72
columns_m
.
addColumnValue
(
"s"
, set.
spos_m
);
73
columns_m
.
addColumnValue
(
"t"
, set.
refTime_m
);
74
columns_m
.
addColumnValue
(
"numParticles"
, set.
nTotal_m
);
75
columns_m
.
addColumnValue
(
"rms_x"
, set.
rrms_m
(0));
76
columns_m
.
addColumnValue
(
"rms_y"
, set.
rrms_m
(1));
77
columns_m
.
addColumnValue
(
"rms_s"
, set.
rrms_m
(2));
78
columns_m
.
addColumnValue
(
"rms_t"
, set.
trms_m
* 1e9);
79
columns_m
.
addColumnValue
(
"rms_px"
, set.
prms_m
(0));
80
columns_m
.
addColumnValue
(
"rms_py"
, set.
prms_m
(1));
81
columns_m
.
addColumnValue
(
"rms_ps"
, set.
prms_m
(2));
82
columns_m
.
addColumnValue
(
"emit_x"
, set.
eps_norm_m
(0));
83
columns_m
.
addColumnValue
(
"emit_y"
, set.
eps_norm_m
(1));
84
columns_m
.
addColumnValue
(
"emit_s"
, set.
eps_norm_m
(2));
85
columns_m
.
addColumnValue
(
"mean_x"
, set.
rmean_m
(0));
86
columns_m
.
addColumnValue
(
"mean_y"
, set.
rmean_m
(1));
87
columns_m
.
addColumnValue
(
"mean_s"
, set.
rmean_m
(2));
88
columns_m
.
addColumnValue
(
"mean_t"
, set.
tmean_m
* 1e9);
89
columns_m
.
addColumnValue
(
"ref_x"
, set.
RefPartR_m
(0));
90
columns_m
.
addColumnValue
(
"ref_y"
, set.
RefPartR_m
(1));
91
columns_m
.
addColumnValue
(
"ref_z"
, set.
RefPartR_m
(2));
92
columns_m
.
addColumnValue
(
"ref_px"
, set.
RefPartP_m
(0));
93
columns_m
.
addColumnValue
(
"ref_py"
, set.
RefPartP_m
(1));
94
columns_m
.
addColumnValue
(
"ref_pz"
, set.
RefPartP_m
(2));
95
columns_m
.
addColumnValue
(
"min_x"
, set.
rmin_m
[0]);
96
columns_m
.
addColumnValue
(
"min_y"
, set.
rmin_m
[1]);
97
columns_m
.
addColumnValue
(
"min_s"
, set.
rmin_m
[2]);
98
columns_m
.
addColumnValue
(
"max_x"
, set.
rmax_m
[0]);
99
columns_m
.
addColumnValue
(
"max_y"
, set.
rmax_m
[1]);
100
columns_m
.
addColumnValue
(
"max_s"
, set.
rmax_m
[2]);
101
columns_m
.
addColumnValue
(
"xpx"
, set.
rprms_m
(0));
102
columns_m
.
addColumnValue
(
"ypy"
, set.
rprms_m
(1));
103
columns_m
.
addColumnValue
(
"zpz"
, set.
rprms_m
(2));
104
105
this->
writeRow
();
106
107
this->
close
();
108
}
LossDataSink.h
MonitorStatisticsWriter::fillHeader
void fillHeader()
Definition:
MonitorStatisticsWriter.cpp:11
SDDSWriter::hasColumns
bool hasColumns() const
Definition:
SDDSWriter.h:190
SDDSWriter::writeHeader
void writeHeader()
Write SDDS header.
Definition:
SDDSWriter.cpp:130
SDDSWriter::writeRow
void writeRow()
Definition:
SDDSWriter.h:175
SetStatistics::rmin_m
Vector_t rmin_m
Definition:
LossDataSink.h:34
IpplInfo::myNode
static int myNode()
Definition:
IpplInfo.cpp:794
Ippl.h
SDDSWriter::close
void close()
Definition:
SDDSWriter.cpp:123
SDDSWriter::addDescription
void addDescription(const std::string &text, const std::string &content)
Definition:
SDDSWriter.h:147
SDDSWriter::columns_m
SDDSColumnSet columns_m
Definition:
SDDSWriter.h:109
SetStatistics::trms_m
double trms_m
Definition:
LossDataSink.h:30
SetStatistics::rprms_m
Vector_t rprms_m
Definition:
LossDataSink.h:40
SetStatistics::rrms_m
Vector_t rrms_m
Definition:
LossDataSink.h:38
SetStatistics::refTime_m
double refTime_m
Definition:
LossDataSink.h:28
SetStatistics::element_m
std::string element_m
Definition:
LossDataSink.h:26
SetStatistics::prms_m
Vector_t prms_m
Definition:
LossDataSink.h:39
SetStatistics::rmean_m
Vector_t rmean_m
Definition:
LossDataSink.h:36
SetStatistics::spos_m
double spos_m
Definition:
LossDataSink.h:27
SDDSColumnSet::addColumnValue
void addColumnValue(const std::string &name, const T &val)
Definition:
SDDSColumnSet.h:46
SDDSWriter
Definition:
SDDSWriter.h:24
MonitorStatisticsWriter::MonitorStatisticsWriter
MonitorStatisticsWriter(const std::string &fname, bool restart)
Definition:
MonitorStatisticsWriter.cpp:6
SetStatistics
Definition:
LossDataSink.h:23
MonitorStatisticsWriter.h
SetStatistics::tmean_m
double tmean_m
Definition:
LossDataSink.h:29
SetStatistics::eps_norm_m
Vector_t eps_norm_m
Definition:
LossDataSink.h:46
MonitorStatisticsWriter::addRow
void addRow(const SetStatistics &set)
Definition:
MonitorStatisticsWriter.cpp:59
SetStatistics::rmax_m
Vector_t rmax_m
Definition:
LossDataSink.h:35
SDDSColumnSet::addColumn
void addColumn(const std::string &name, const std::string &type, const std::string &unit, const std::string &desc, std::ios_base::fmtflags flags=std::ios_base::scientific, unsigned short precision=15)
Definition:
SDDSColumnSet.cpp:3
SetStatistics::RefPartP_m
Vector_t RefPartP_m
Definition:
LossDataSink.h:33
SetStatistics::RefPartR_m
Vector_t RefPartR_m
Definition:
LossDataSink.h:32
SDDSWriter::open
void open()
Definition:
SDDSWriter.cpp:113
SetStatistics::nTotal_m
unsigned long nTotal_m
Definition:
LossDataSink.h:31
SDDSWriter::addDefaultParameters
void addDefaultParameters()
Definition:
SDDSWriter.cpp:190
SDDSWriter::addInfo
void addInfo(const std::string &mode, const size_t &no_row_counts)
Definition:
SDDSWriter.h:168
Generated on Sat Jan 4 2020 14:48:06 for OPAL (Object Oriented Parallel Accelerator Library) by
1.8.5