OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SDDSWriter Class Reference

#include <SDDSWriter.h>

Inheritance diagram for SDDSWriter:
Inheritance graph
[legend]
Collaboration diagram for SDDSWriter:
Collaboration graph
[legend]

Public Types

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

 SDDSWriter (const std::string &fname, bool restart)
 
virtual ~SDDSWriter ()
 
virtual void write (PartBunchBase< double, 3 > *beam)
 
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 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 SDDSWriter.h.

Member Typedef Documentation

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

Definition at line 42 of file SDDSWriter.h.

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

Definition at line 36 of file SDDSWriter.h.

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

Definition at line 28 of file SDDSWriter.h.

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

Definition at line 33 of file SDDSWriter.h.

Constructor & Destructor Documentation

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

Definition at line 11 of file SDDSWriter.cpp.

References endl(), fname_m, Hypervolume::fs, INFOMSG, and mode_m.

Here is the call graph for this function:

virtual SDDSWriter::~SDDSWriter ( )
inlinevirtual

Definition at line 47 of file SDDSWriter.h.

Member Function Documentation

void SDDSWriter::addColumn ( const std::string &  name,
const std::string &  type,
const std::string &  unit,
const std::string &  desc 
)
protected
void SDDSWriter::addDefaultParameters ( )
protected
void SDDSWriter::addDescription ( const std::string &  text,
const std::string &  content 
)
inlineprotected
void SDDSWriter::addInfo ( const std::string &  mode,
const size_t &  no_row_counts 
)
inlineprotected
template<typename T >
void SDDSWriter::addParameter ( const std::string &  name,
const std::string &  type,
const std::string &  desc,
const T value 
)
protected

Definition at line 155 of file SDDSWriter.h.

References params_m, and paramValues_m.

Referenced by addDefaultParameters().

void SDDSWriter::close ( )
protected
bool SDDSWriter::exists ( ) const
inline

Definition at line 141 of file SDDSWriter.h.

References fname_m.

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

Definition at line 104 of file SDDSWriter.cpp.

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

Here is the call graph for this function:

bool SDDSWriter::hasColumns ( ) const
inlineprotected
void SDDSWriter::open ( )
protected
void SDDSWriter::replaceVersionString ( )
void SDDSWriter::rewindLines ( size_t  numberOfLines)

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

Definition at line 27 of file SDDSWriter.cpp.

References fname_m, Hypervolume::fs, and IpplInfo::myNode().

Here is the call graph for this function:

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

Definition at line 181 of file SDDSWriter.h.

References precision_m.

Referenced by GridLBalWriter::write(), and MemoryProfiler::write().

virtual void SDDSWriter::write ( PartBunchBase< double, 3 > *  beam)
inlinevirtual

Reimplemented in MemoryProfiler, GridLBalWriter, LBalWriter, and MemoryWriter.

Definition at line 49 of file SDDSWriter.h.

void SDDSWriter::writeColumns ( )
private

Definition at line 170 of file SDDSWriter.cpp.

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

Referenced by writeHeader().

Here is the call graph for this function:

void SDDSWriter::writeDescription ( )
private

Definition at line 146 of file SDDSWriter.cpp.

References desc_m, endl(), indent_m, and os_m.

Referenced by writeHeader().

Here is the call graph for this function:

void SDDSWriter::writeHeader ( )
protected

Write SDDS header.

Writes the appropriate SDDS format header information, The SDDS tools can be used for plotting data.

Definition at line 130 of file SDDSWriter.cpp.

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

Referenced by ElementPositionWriter::addRow(), MonitorStatisticsWriter::addRow(), GridLBalWriter::write(), MemoryWriter::write(), LBalWriter::write(), MultiBunchDump::write(), StatWriter::write(), and MemoryProfiler::write().

Here is the call graph for this function:

void SDDSWriter::writeInfo ( )
private

Definition at line 175 of file SDDSWriter.cpp.

References endl(), indent_m, info_m, os_m, and paramValues_m.

Referenced by writeHeader().

Here is the call graph for this function:

void SDDSWriter::writeParameters ( )
private

Definition at line 155 of file SDDSWriter.cpp.

References indent_m, os_m, and params_m.

Referenced by writeHeader().

void SDDSWriter::writeRow ( )
inlineprotected

Member Data Documentation

SDDSColumnSet SDDSWriter::columns_m
protected
desc_t SDDSWriter::desc_m
private

Definition at line 130 of file SDDSWriter.h.

Referenced by addDescription(), and writeDescription().

std::string SDDSWriter::fname_m
protected
std::string SDDSWriter::indent_m
private

Definition at line 128 of file SDDSWriter.h.

Referenced by writeColumns(), writeDescription(), writeInfo(), and writeParameters().

data_t SDDSWriter::info_m
private

Definition at line 133 of file SDDSWriter.h.

Referenced by addInfo(), and writeInfo().

std::ios_base::openmode SDDSWriter::mode_m
protected

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 107 of file SDDSWriter.h.

Referenced by GridLBalWriter::fillHeader(), LBalWriter::fillHeader(), MemoryWriter::fillHeader(), MultiBunchDump::fillHeader(), StatWriter::fillHeader(), MemoryProfiler::header(), open(), SDDSWriter(), and writeHeader().

std::ofstream SDDSWriter::os_m
private
std::queue<param_t> SDDSWriter::params_m
private

Definition at line 131 of file SDDSWriter.h.

Referenced by addParameter(), and writeParameters().

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

Definition at line 132 of file SDDSWriter.h.

Referenced by addParameter(), and writeInfo().

constexpr unsigned int SDDSWriter::precision_m = 15
staticprivate

Definition at line 136 of file SDDSWriter.h.

Referenced by open(), and toString().


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