|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <StatWriter.h>


Public Types | |
| typedef std::vector< std::pair< std::string, unsigned int > > | losses_t |
| typedef std::pair< std::string, std::string > | desc_t |
| typedef std::tuple< std::string, std::string, std::string > | param_t |
| typedef std::pair< std::string, size_t > | data_t |
| typedef std::tuple< std::string, std::string, std::string, std::string > | cols_t |
Public Member Functions | |
| StatWriter (const std::string &fname, bool restart) | |
| void | write (const PartBunchBase< double, 3 > *beam, Vector_t FDext[], const losses_t &losses=losses_t(), const double &azimuth=-1, const size_t npOutside=0) |
| Write statistical data. More... | |
| virtual void | write (PartBunchBase< double, 3 > *) |
| unsigned int | rewindToSpos (double maxSpos) |
| delete the last 'numberOfLines' lines of the statistics file More... | |
| void | rewindLines (size_t numberOfLines) |
| delete the last 'numberOfLines' lines of the file 'fileName' More... | |
| void | replaceVersionString () |
| double | getLastValue (const std::string &column) |
| bool | exists () const |
Protected Member Functions | |
| void | addDescription (const std::string &text, const std::string &content) |
| template<typename T > | |
| void | addParameter (const std::string &name, const std::string &type, const std::string &desc, const T &value) |
| void | addDefaultParameters () |
| void | addColumn (const std::string &name, const std::string &type, const std::string &unit, const std::string &desc) |
| void | addInfo (const std::string &mode, const size_t &no_row_counts) |
| void | writeRow () |
| void | open () |
| void | close () |
| void | writeHeader () |
| Write SDDS header. More... | |
| template<typename T > | |
| std::string | toString (const T &val) |
| bool | hasColumns () const |
Protected Attributes | |
| std::string | fname_m |
| std::ios_base::openmode | mode_m |
| First write to the statistics output file. More... | |
| SDDSColumnSet | columns_m |
Private Member Functions | |
| void | fillHeader (const losses_t &losses=losses_t()) |
| void | writeDescription () |
| void | writeParameters () |
| void | writeColumns () |
| void | writeInfo () |
Private Attributes | |
| std::ofstream | os_m |
| std::string | indent_m |
| desc_t | desc_m |
| std::queue< param_t > | params_m |
| std::queue< std::string > | paramValues_m |
| data_t | info_m |
Static Private Attributes | |
| static constexpr unsigned int | precision_m = 15 |
Definition at line 24 of file StatWriter.h.
|
inherited |
Definition at line 57 of file SDDSWriter.h.
|
inherited |
Definition at line 51 of file SDDSWriter.h.
|
inherited |
Definition at line 43 of file SDDSWriter.h.
| typedef std::vector<std::pair<std::string, unsigned int> > StatWriter::losses_t |
Definition at line 27 of file StatWriter.h.
|
inherited |
Definition at line 48 of file SDDSWriter.h.
| StatWriter::StatWriter | ( | const std::string & | fname, |
| bool | restart | ||
| ) |
Definition at line 28 of file StatWriter.cpp.
|
protectedinherited |
|
protectedinherited |
Definition at line 209 of file SDDSWriter.cpp.
References SDDSWriter::addParameter(), Util::getGitRevision(), OpalData::getInstance(), and IpplInfo::getNodes().
Referenced by ElementPositionWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), and MemoryProfiler::header().

|
inlineprotectedinherited |
Definition at line 159 of file SDDSWriter.h.
References SDDSWriter::desc_m.
Referenced by ElementPositionWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), and MemoryProfiler::header().
|
inlineprotectedinherited |
Definition at line 178 of file SDDSWriter.h.
References SDDSWriter::info_m.
Referenced by ElementPositionWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), and MemoryProfiler::header().
|
protectedinherited |
Definition at line 166 of file SDDSWriter.h.
References name, SDDSWriter::params_m, and SDDSWriter::paramValues_m.
Referenced by SDDSWriter::addDefaultParameters().
|
protectedinherited |
Definition at line 142 of file SDDSWriter.cpp.
References IpplInfo::myNode(), and SDDSWriter::os_m.
Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), MultiBunchDump::write(), write(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), and MemoryWriter::write().

|
inlineinherited |
Definition at line 153 of file SDDSWriter.h.
References SDDSWriter::fname_m.
Definition at line 33 of file StatWriter.cpp.
References SDDSColumnSet::addColumn(), SDDSWriter::addDefaultParameters(), SDDSWriter::addDescription(), SDDSWriter::addInfo(), SDDSWriter::columns_m, Options::computePercentiles, OPALTimer::Timer::date(), Options::dumpBeamMatrix, OpalData::getInputFn(), OpalData::getInstance(), IpplInfo::getNodes(), SDDSWriter::hasColumns(), SDDSWriter::mode_m, and OPALTimer::Timer::time().
Referenced by write().

|
inherited |
Definition at line 123 of file SDDSWriter.cpp.
References SDDSWriter::fname_m, SDDS::SDDSParser::getValue(), and SDDS::SDDSParser::run().

|
inlineprotectedinherited |
Definition at line 200 of file SDDSWriter.h.
References SDDSWriter::columns_m, and SDDSColumnSet::hasColumns().
Referenced by ElementPositionWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), and MemoryProfiler::header().

|
protectedinherited |
Definition at line 132 of file SDDSWriter.cpp.
References SDDSWriter::fname_m, SDDSWriter::mode_m, IpplInfo::myNode(), SDDSWriter::os_m, and SDDSWriter::precision_m.
Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), MultiBunchDump::write(), write(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), and MemoryWriter::write().

|
inherited |
Definition at line 78 of file SDDSWriter.cpp.
References SDDSWriter::fname_m, Hypervolume::fs, Util::getGitRevision(), SDDS::SDDSParser::getParameterValue(), IpplInfo::myNode(), and SDDS::SDDSParser::run().

|
inherited |
delete the last 'numberOfLines' lines of the file 'fileName'
Definition at line 48 of file SDDSWriter.cpp.
References SDDSWriter::fname_m, Hypervolume::fs, and IpplInfo::myNode().

|
inlineinherited |
delete the last 'numberOfLines' lines of the statistics file
Definition at line 40 of file StatBaseWriter.h.
References SDDSWriter::fname_m, IpplInfo::myNode(), and Util::rewindLinesSDDS().

|
protectedinherited |
Definition at line 191 of file SDDSWriter.h.
References SDDSWriter::precision_m.
Referenced by GridLBalWriter::write(), and MemoryProfiler::write().
| void StatWriter::write | ( | const PartBunchBase< double, 3 > * | beam, |
| Vector_t | FDext[], | ||
| const losses_t & | losses = losses_t(), |
||
| const double & | azimuth = -1, |
||
| const size_t | npOutside = 0 |
||
| ) |
Write statistical data.
Writes statistical beam data to proper output file. This is information such as RMS beam parameters etc.
Also gathers and writes load balancing data to load balance statistics file.
| beam | The beam. |
| FDext | The external E and B field for the head, reference and tail particles. The vector array has the following layout:
|
Write data to files. If this is the first write to the beam statistics file, write SDDS header information.
Definition at line 224 of file StatWriter.cpp.
References SDDSColumnSet::addColumnValue(), SDDSWriter::close(), SDDSWriter::columns_m, Options::computePercentiles, Options::dumpBeamMatrix, fillHeader(), PartBunchBase< T, Dim >::get_68Percentile(), PartBunchBase< T, Dim >::get_95Percentile(), PartBunchBase< T, Dim >::get_99_99Percentile(), PartBunchBase< T, Dim >::get_99Percentile(), PartBunchBase< T, Dim >::get_DDx(), PartBunchBase< T, Dim >::get_DDy(), PartBunchBase< T, Dim >::get_debyeLength(), PartBunchBase< T, Dim >::get_Dx(), PartBunchBase< T, Dim >::get_Dy(), PartBunchBase< T, Dim >::get_halo(), PartBunchBase< T, Dim >::get_maxExtent(), PartBunchBase< T, Dim >::get_meanKineticEnergy(), PartBunchBase< T, Dim >::get_norm_emit(), PartBunchBase< T, Dim >::get_normalizedEps_68Percentile(), PartBunchBase< T, Dim >::get_normalizedEps_95Percentile(), PartBunchBase< T, Dim >::get_normalizedEps_99_99Percentile(), PartBunchBase< T, Dim >::get_normalizedEps_99Percentile(), PartBunchBase< T, Dim >::get_plasmaParameter(), PartBunchBase< T, Dim >::get_prms(), PartBunchBase< T, Dim >::get_rmean(), PartBunchBase< T, Dim >::get_rmsDensity(), PartBunchBase< T, Dim >::get_rprms(), PartBunchBase< T, Dim >::get_rrms(), PartBunchBase< T, Dim >::get_sPos(), PartBunchBase< T, Dim >::get_temperature(), PartBunchBase< T, Dim >::getCharge(), PartBunchBase< T, Dim >::getdE(), PartBunchBase< T, Dim >::getdT(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLocalNum(), IpplInfo::getNodes(), PartBunchBase< T, Dim >::getSigmaMatrix(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), IpplInfo::myNode(), SDDSWriter::open(), PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::R, PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, Units::s2ns, SDDSWriter::writeHeader(), and SDDSWriter::writeRow().

|
inlinevirtual |
Reimplemented from SDDSWriter.
Definition at line 63 of file SDDSWriter.h.
|
privateinherited |
Definition at line 189 of file SDDSWriter.cpp.
References SDDSWriter::columns_m, SDDSWriter::indent_m, SDDSWriter::os_m, and SDDSColumnSet::writeHeader().
Referenced by SDDSWriter::writeHeader().

|
privateinherited |
Definition at line 165 of file SDDSWriter.cpp.
References SDDSWriter::desc_m, endl(), SDDSWriter::indent_m, and SDDSWriter::os_m.
Referenced by SDDSWriter::writeHeader().

|
protectedinherited |
Write SDDS header.
Writes the appropriate SDDS format header information, The SDDS tools can be used for plotting data.
Definition at line 149 of file SDDSWriter.cpp.
References SDDSWriter::mode_m, IpplInfo::myNode(), SDDSWriter::writeColumns(), SDDSWriter::writeDescription(), SDDSWriter::writeInfo(), and SDDSWriter::writeParameters().
Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), MultiBunchDump::write(), write(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), and MemoryWriter::write().

|
privateinherited |
Definition at line 194 of file SDDSWriter.cpp.
References endl(), SDDSWriter::indent_m, SDDSWriter::info_m, SDDSWriter::os_m, and SDDSWriter::paramValues_m.
Referenced by SDDSWriter::writeHeader().

|
privateinherited |
Definition at line 174 of file SDDSWriter.cpp.
References SDDSWriter::indent_m, SDDSWriter::os_m, and SDDSWriter::params_m.
Referenced by SDDSWriter::writeHeader().
|
inlineprotectedinherited |
Definition at line 185 of file SDDSWriter.h.
References SDDSWriter::columns_m, SDDSWriter::os_m, and SDDSColumnSet::writeRow().
Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), MultiBunchDump::write(), write(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), and MemoryWriter::write().

|
protectedinherited |
Definition at line 122 of file SDDSWriter.h.
Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), ElementPositionWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), SDDSWriter::hasColumns(), MemoryProfiler::header(), MultiBunchDump::write(), write(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), SDDSWriter::writeColumns(), and SDDSWriter::writeRow().
|
privateinherited |
Definition at line 142 of file SDDSWriter.h.
Referenced by SDDSWriter::addDescription(), and SDDSWriter::writeDescription().
|
protectedinherited |
Definition at line 112 of file SDDSWriter.h.
Referenced by SDDSWriter::exists(), SDDSWriter::getLastValue(), SDDSWriter::open(), SDDSWriter::replaceVersionString(), SDDSWriter::rewindLines(), StatBaseWriter::rewindToSpos(), and SDDSWriter::SDDSWriter().
|
privateinherited |
Definition at line 140 of file SDDSWriter.h.
Referenced by SDDSWriter::writeColumns(), SDDSWriter::writeDescription(), SDDSWriter::writeInfo(), and SDDSWriter::writeParameters().
|
privateinherited |
Definition at line 145 of file SDDSWriter.h.
Referenced by SDDSWriter::addInfo(), and SDDSWriter::writeInfo().
|
protectedinherited |
First write to the statistics output file.
Initially set to std::ios::out so that SDDS format header information is written to file during the first write call to the statistics output file. Variable is then reset to std::ios::app so that header information is only written once.
Definition at line 120 of file SDDSWriter.h.
Referenced by MemoryWriter::fillHeader(), MultiBunchDump::fillHeader(), fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryProfiler::header(), SDDSWriter::open(), SDDSWriter::SDDSWriter(), and SDDSWriter::writeHeader().
|
privateinherited |
Definition at line 138 of file SDDSWriter.h.
Referenced by SDDSWriter::close(), SDDSWriter::open(), SDDSWriter::writeColumns(), SDDSWriter::writeDescription(), SDDSWriter::writeInfo(), SDDSWriter::writeParameters(), and SDDSWriter::writeRow().
|
privateinherited |
Definition at line 143 of file SDDSWriter.h.
Referenced by SDDSWriter::addParameter(), and SDDSWriter::writeParameters().
|
privateinherited |
Definition at line 144 of file SDDSWriter.h.
Referenced by SDDSWriter::addParameter(), and SDDSWriter::writeInfo().
|
staticconstexprprivateinherited |
Definition at line 148 of file SDDSWriter.h.
Referenced by SDDSWriter::open(), and SDDSWriter::toString().