|
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. | |
| virtual void | write (PartBunchBase< double, 3 > *) |
| unsigned int | rewindToSpos (double maxSpos) |
| delete the last 'numberOfLines' lines of the statistics file | |
| void | rewindLines (size_t numberOfLines) |
| delete the last 'numberOfLines' lines of the file 'fileName' | |
| 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. | |
| 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. | |
| 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.
References StatBaseWriter::StatBaseWriter().
|
protectedinherited |
References name.
|
protectedinherited |
Definition at line 209 of file SDDSWriter.cpp.
References addParameter(), Util::getGitRevision(), OpalData::getInstance(), and IpplInfo::getNodes().
Referenced by ElementPositionWriter::fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), and MemoryProfiler::header().
|
inlineprotectedinherited |
Definition at line 159 of file SDDSWriter.h.
References desc_m.
Referenced by ElementPositionWriter::fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), and MemoryProfiler::header().
|
inlineprotectedinherited |
Definition at line 178 of file SDDSWriter.h.
References info_m.
Referenced by ElementPositionWriter::fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), and MemoryProfiler::header().
|
protectedinherited |
Definition at line 166 of file SDDSWriter.h.
References name, params_m, and paramValues_m.
Referenced by addDefaultParameters().
|
protectedinherited |
Definition at line 142 of file SDDSWriter.cpp.
References IpplInfo::myNode(), and os_m.
Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), MultiBunchDump::write(), and StatWriter::write().
|
inlineinherited |
Definition at line 153 of file SDDSWriter.h.
References fname_m.
Definition at line 33 of file StatWriter.cpp.
References 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 fname_m, SDDS::SDDSParser::getValue(), and SDDS::SDDSParser::run().
|
inlineprotectedinherited |
Definition at line 200 of file SDDSWriter.h.
References columns_m.
Referenced by ElementPositionWriter::fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), and MemoryProfiler::header().
|
protectedinherited |
Definition at line 132 of file SDDSWriter.cpp.
References fname_m, mode_m, IpplInfo::myNode(), os_m, and precision_m.
Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), MultiBunchDump::write(), and StatWriter::write().
|
inherited |
Definition at line 78 of file SDDSWriter.cpp.
References fname_m, 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 fname_m, 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 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 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 columns_m, indent_m, and os_m.
Referenced by writeHeader().
|
privateinherited |
Definition at line 165 of file SDDSWriter.cpp.
References desc_m, indent_m, and os_m.
Referenced by 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 mode_m, IpplInfo::myNode(), writeColumns(), writeDescription(), writeInfo(), and writeParameters().
Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), MultiBunchDump::write(), and StatWriter::write().
|
privateinherited |
Definition at line 194 of file SDDSWriter.cpp.
References indent_m, info_m, os_m, and paramValues_m.
Referenced by writeHeader().
|
privateinherited |
Definition at line 174 of file SDDSWriter.cpp.
References indent_m, os_m, and params_m.
Referenced by writeHeader().
|
inlineprotectedinherited |
Definition at line 185 of file SDDSWriter.h.
References columns_m, and os_m.
Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), MultiBunchDump::write(), and StatWriter::write().
|
protectedinherited |
Definition at line 122 of file SDDSWriter.h.
Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), ElementPositionWriter::fillHeader(), GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MonitorStatisticsWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), hasColumns(), MemoryProfiler::header(), GridLBalWriter::write(), LBalWriter::write(), MemoryProfiler::write(), MemoryWriter::write(), MultiBunchDump::write(), StatWriter::write(), writeColumns(), and writeRow().
|
privateinherited |
Definition at line 142 of file SDDSWriter.h.
Referenced by addDescription(), and writeDescription().
|
protectedinherited |
Definition at line 112 of file SDDSWriter.h.
Referenced by exists(), getLastValue(), open(), replaceVersionString(), rewindLines(), StatBaseWriter::rewindToSpos(), and SDDSWriter().
|
privateinherited |
Definition at line 140 of file SDDSWriter.h.
Referenced by SDDSWriter(), writeColumns(), writeDescription(), writeInfo(), and writeParameters().
|
privateinherited |
Definition at line 145 of file SDDSWriter.h.
Referenced by addInfo(), and 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 GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), MemoryProfiler::header(), open(), SDDSWriter(), and writeHeader().
|
privateinherited |
Definition at line 138 of file SDDSWriter.h.
Referenced by close(), open(), writeColumns(), writeDescription(), writeInfo(), writeParameters(), and writeRow().
|
privateinherited |
Definition at line 143 of file SDDSWriter.h.
Referenced by addParameter(), and writeParameters().
|
privateinherited |
Definition at line 144 of file SDDSWriter.h.
Referenced by addParameter(), and writeInfo().
|
staticconstexprprivateinherited |
Definition at line 148 of file SDDSWriter.h.
Referenced by open(), and toString().