OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
StatWriter Class Reference

#include <StatWriter.h>

Inheritance diagram for StatWriter:
Inheritance graph
Collaboration diagram for StatWriter:
Collaboration graph

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 (PartBunch_t &beam, Vector_t< double, 3 > FDext[], const losses_t &losses=losses_t(), const double &azimuth=-1, const size_t npOutside=0, size_t particleContainerIndex=0)
 Write statistical data.
 
virtual void write (const PartBunch_t &)
 
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(), const std::string &species="")
 
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_tparams_m
 
std::queue< std::string > paramValues_m
 
data_t info_m
 

Static Private Attributes

static constexpr unsigned int precision_m = 15
 

Detailed Description

Definition at line 24 of file StatWriter.h.

Member Typedef Documentation

◆ cols_t

typedef std::tuple<std::string, std::string, std::string, std::string> SDDSWriter::cols_t
inherited

Definition at line 50 of file SDDSWriter.h.

◆ data_t

typedef std::pair<std::string, size_t> SDDSWriter::data_t
inherited

Definition at line 47 of file SDDSWriter.h.

◆ desc_t

typedef std::pair<std::string, std::string> SDDSWriter::desc_t
inherited

Definition at line 41 of file SDDSWriter.h.

◆ losses_t

typedef std::vector<std::pair<std::string, unsigned int> > StatWriter::losses_t

Definition at line 26 of file StatWriter.h.

◆ param_t

typedef std::tuple<std::string, std::string, std::string> SDDSWriter::param_t
inherited

Definition at line 44 of file SDDSWriter.h.

Constructor & Destructor Documentation

◆ StatWriter()

StatWriter::StatWriter ( const std::string &  fname,
bool  restart 
)

Definition at line 41 of file StatWriter.cpp.

Member Function Documentation

◆ addColumn()

void SDDSWriter::addColumn ( const std::string &  name,
const std::string &  type,
const std::string &  unit,
const std::string &  desc 
)
protectedinherited

◆ addDefaultParameters()

void SDDSWriter::addDefaultParameters ( )
protectedinherited

◆ addDescription()

void SDDSWriter::addDescription ( const std::string &  text,
const std::string &  content 
)
inlineprotectedinherited

◆ addInfo()

void SDDSWriter::addInfo ( const std::string &  mode,
const size_t &  no_row_counts 
)
inlineprotectedinherited

◆ addParameter()

template<typename T >
void SDDSWriter::addParameter ( const std::string &  name,
const std::string &  type,
const std::string &  desc,
const T value 
)
protectedinherited

Definition at line 146 of file SDDSWriter.h.

References SDDSWriter::params_m, and SDDSWriter::paramValues_m.

Referenced by SDDSWriter::addDefaultParameters(), and fillHeader().

◆ close()

void SDDSWriter::close ( )
protectedinherited

◆ exists()

bool SDDSWriter::exists ( ) const
inlineinherited

Definition at line 139 of file SDDSWriter.h.

References SDDSWriter::fname_m.

◆ fillHeader()

void StatWriter::fillHeader ( const losses_t losses = losses_t(),
const std::string &  species = "" 
)
private

◆ getLastValue()

double SDDSWriter::getLastValue ( const std::string &  column)
inherited

Definition at line 115 of file SDDSWriter.cpp.

References SDDSWriter::fname_m, SDDS::SDDSParser::getValue(), and SDDS::SDDSParser::run().

Here is the call graph for this function:

◆ hasColumns()

bool SDDSWriter::hasColumns ( ) const
inlineprotectedinherited

◆ open()

◆ replaceVersionString()

void SDDSWriter::replaceVersionString ( )
inherited

Definition at line 74 of file SDDSWriter.cpp.

References SDDSWriter::fname_m, Util::getGitRevision(), SDDS::SDDSParser::getParameterValue(), and SDDS::SDDSParser::run().

Here is the call graph for this function:

◆ rewindLines()

void SDDSWriter::rewindLines ( size_t  numberOfLines)
inherited

delete the last 'numberOfLines' lines of the file 'fileName'

Definition at line 45 of file SDDSWriter.cpp.

References SDDSWriter::fname_m.

◆ rewindToSpos()

unsigned int StatBaseWriter::rewindToSpos ( double  maxSpos)
inlineinherited

delete the last 'numberOfLines' lines of the statistics file

Definition at line 37 of file StatBaseWriter.h.

References SDDSWriter::fname_m, and Util::rewindLinesSDDS().

Here is the call graph for this function:

◆ toString()

template<typename T >
std::string SDDSWriter::toString ( const T val)
protectedinherited

Definition at line 161 of file SDDSWriter.h.

References SDDSWriter::precision_m.

Referenced by MemoryProfiler::write().

◆ write() [1/2]

virtual void SDDSWriter::write ( const PartBunch_t )
inlinevirtual

Reimplemented from SDDSWriter.

Definition at line 56 of file SDDSWriter.h.

◆ write() [2/2]

void StatWriter::write ( PartBunch_t beam,
Vector_t< double, 3 >  FDext[],
const losses_t losses = losses_t(),
const double &  azimuth = -1,
const size_t  npOutside = 0,
size_t  particleContainerIndex = 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.

Parameters
beamThe beam.
FDextThe external E and B field for the head, reference and tail particles. The vector array has the following layout:
  • FDext[0] = B at head particle location (in x, y and z).
  • FDext[1] = E at head particle location (in x, y and z).
  • FDext[2] = B at reference particle location (in x, y and z).
  • FDext[3] = E at reference particle location (in x, y and z).
  • FDext[4] = B at tail particle location (in x, y, and z).
  • FDext[5] = E at tail particle location (in x, y, and z).

Definition at line 219 of file StatWriter.cpp.

References SDDSColumnSet::addColumnValue(), SDDSWriter::close(), SDDSWriter::columns_m, fillHeader(), PartBunch< T, Dim >::get_halo(), PartBunch< T, Dim >::get_rmsDensity(), PartBunch< T, Dim >::getCurrentNBins(), PartBunch< T, Dim >::getdT(), OpalData::getInstance(), PartBunch< T, Dim >::getParticleName(), PartBunch< T, Dim >::getT(), SDDSWriter::open(), Units::s2ns, SDDSWriter::writeHeader(), and SDDSWriter::writeRow().

Here is the call graph for this function:

◆ writeColumns()

void SDDSWriter::writeColumns ( )
privateinherited

Definition at line 173 of file SDDSWriter.cpp.

References SDDSWriter::columns_m, SDDSWriter::indent_m, SDDSWriter::os_m, and SDDSColumnSet::writeHeader().

Referenced by SDDSWriter::writeHeader().

Here is the call graph for this function:

◆ writeDescription()

void SDDSWriter::writeDescription ( )
privateinherited

Definition at line 151 of file SDDSWriter.cpp.

References SDDSWriter::desc_m, SDDSWriter::indent_m, and SDDSWriter::os_m.

Referenced by SDDSWriter::writeHeader().

◆ writeHeader()

void 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 137 of file SDDSWriter.cpp.

References SDDSWriter::mode_m, SDDSWriter::writeColumns(), SDDSWriter::writeDescription(), SDDSWriter::writeInfo(), and SDDSWriter::writeParameters().

Referenced by MonitorStatisticsWriter::addRow(), ElementPositionWriter::addRow(), LBalWriter::write(), MemoryProfiler::write(), and write().

Here is the call graph for this function:

◆ writeInfo()

void SDDSWriter::writeInfo ( )
privateinherited

◆ writeParameters()

void SDDSWriter::writeParameters ( )
privateinherited

Definition at line 159 of file SDDSWriter.cpp.

References SDDSWriter::indent_m, SDDSWriter::os_m, and SDDSWriter::params_m.

Referenced by SDDSWriter::writeHeader().

◆ writeRow()

void SDDSWriter::writeRow ( )
inlineprotectedinherited

Member Data Documentation

◆ columns_m

◆ desc_m

desc_t SDDSWriter::desc_m
privateinherited

Definition at line 131 of file SDDSWriter.h.

Referenced by SDDSWriter::addDescription(), and SDDSWriter::writeDescription().

◆ fname_m

◆ indent_m

std::string SDDSWriter::indent_m
privateinherited

◆ info_m

data_t SDDSWriter::info_m
privateinherited

Definition at line 134 of file SDDSWriter.h.

Referenced by SDDSWriter::addInfo(), and SDDSWriter::writeInfo().

◆ mode_m

std::ios_base::openmode SDDSWriter::mode_m
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 109 of file SDDSWriter.h.

Referenced by LBalWriter::fillHeader(), fillHeader(), MemoryProfiler::header(), SDDSWriter::open(), SDDSWriter::SDDSWriter(), and SDDSWriter::writeHeader().

◆ os_m

◆ params_m

std::queue<param_t> SDDSWriter::params_m
privateinherited

Definition at line 132 of file SDDSWriter.h.

Referenced by SDDSWriter::addParameter(), and SDDSWriter::writeParameters().

◆ paramValues_m

std::queue<std::string> SDDSWriter::paramValues_m
privateinherited

Definition at line 133 of file SDDSWriter.h.

Referenced by SDDSWriter::addParameter(), and SDDSWriter::writeInfo().

◆ precision_m

constexpr unsigned int SDDSWriter::precision_m = 15
staticconstexprprivateinherited

Definition at line 136 of file SDDSWriter.h.

Referenced by SDDSWriter::open(), and SDDSWriter::toString().


The documentation for this class was generated from the following files: