OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
SDDS::SDDSParser Class Reference

#include <SDDSParser.h>

Collaboration diagram for SDDS::SDDSParser:

Public Member Functions

 SDDSParser ()
 SDDSParser (const std::string &input)
void setInput (const std::string &input)
file run ()
file getData ()
ast::columnData_t getColumnData (const std::string &columnName)
ast::datatype getColumnType (const std::string &col_name)
template<typename T>
void getValue (int t, std::string column_name, T &nval)
template<typename T>
void getInterpolatedValue (std::string ref_name, double ref_val, std::string col_name, T &nval)
template<typename T>
void getInterpolatedValue (double spos, std::string col_name, T &nval)
template<typename T>
void getParameterValue (std::string parameter_name, T &nval)
template<typename T>
T getBoostVariantValue (const ast::variant_t &val, int datatype) const
 Convert value from boost variant (only numeric types) to a value of type T.

Private Member Functions

std::string readFile ()
int getColumnIndex (std::string col_name) const

Static Private Member Functions

static void fixCaseSensitivity (std::string &for_string)
static std::string fixCaseSensitivity (const std::string &for_string)

Private Attributes

std::string sddsFileName_m
std::map< std::string, int > paramNameToID_m
 mapping from parameter name to offset in params_m
std::map< std::string, int > columnNameToID_m
 mapping from column name to ID in columns_m
SDDS::file sddsData_m

Detailed Description

Definition at line 45 of file SDDSParser.h.

Constructor & Destructor Documentation

◆ SDDSParser() [1/2]

SDDS::SDDSParser::SDDSParser ( )

Definition at line 22 of file SDDSParser.cpp.

References sddsFileName_m.

◆ SDDSParser() [2/2]

SDDS::SDDSParser::SDDSParser ( const std::string & input)

Definition at line 26 of file SDDSParser.cpp.

References sddsFileName_m.

Member Function Documentation

◆ fixCaseSensitivity() [1/2]

std::string SDDS::SDDSParser::fixCaseSensitivity ( const std::string & for_string)
inlinestaticprivate

Definition at line 49 of file SDDSParser.h.

References fixCaseSensitivity().

Here is the call graph for this function:

◆ fixCaseSensitivity() [2/2]

void SDDS::SDDSParser::fixCaseSensitivity ( std::string & for_string)
staticprivate

Definition at line 136 of file SDDSParser.cpp.

Referenced by fixCaseSensitivity(), getColumnIndex(), getParameterValue(), getValue(), and run().

Here is the caller graph for this function:

◆ getBoostVariantValue()

template<typename T>
T SDDS::SDDSParser::getBoostVariantValue ( const ast::variant_t & val,
int datatype ) const
inline

Convert value from boost variant (only numeric types) to a value of type T.

Definition at line 204 of file SDDSParser.h.

References SDDS::ast::DOUBLE, SDDS::ast::FLOAT, SDDS::ast::LONG, and SDDS::ast::SHORT.

Referenced by getInterpolatedValue(), and getValue().

Here is the caller graph for this function:

◆ getColumnData()

SDDS::ast::columnData_t SDDS::SDDSParser::getColumnData ( const std::string & columnName)

Definition at line 116 of file SDDSParser.cpp.

References getColumnIndex(), and sddsData_m.

Here is the call graph for this function:

◆ getColumnIndex()

int SDDS::SDDSParser::getColumnIndex ( std::string col_name) const
private

Definition at line 123 of file SDDSParser.cpp.

References columnNameToID_m, and fixCaseSensitivity().

Referenced by getColumnData(), getColumnType(), getInterpolatedValue(), and getValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getColumnType()

ast::datatype SDDS::SDDSParser::getColumnType ( const std::string & col_name)
inline

Definition at line 72 of file SDDSParser.h.

References getColumnIndex(), and sddsData_m.

Referenced by getInterpolatedValue(), and getValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getData()

file SDDS::SDDSParser::getData ( )
inline

Definition at line 238 of file SDDSParser.h.

References sddsData_m.

◆ getInterpolatedValue() [1/2]

template<typename T>
void SDDS::SDDSParser::getInterpolatedValue ( double spos,
std::string col_name,
T & nval )
inline

Converts the string value of a parameter at a position spos to a value of type T.

Parameters
sposinterpolate value at spos
col_nameparameter name
nvalstore result of type T in nval

Definition at line 175 of file SDDSParser.h.

References getInterpolatedValue().

Here is the call graph for this function:

◆ getInterpolatedValue() [2/2]

template<typename T>
void SDDS::SDDSParser::getInterpolatedValue ( std::string ref_name,
double ref_val,
std::string col_name,
T & nval )
inline

Converts the string value of a parameter to a value of type T.

Parameters
ref_namereference quantity (e.g. spos)
ref_valinterpolate value of reference quantity (e.g. spos)
col_nameparameter name
nvalstore result of type T in nval

Definition at line 115 of file SDDSParser.h.

References getBoostVariantValue(), getColumnIndex(), getColumnType(), and sddsData_m.

Referenced by getInterpolatedValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getParameterValue()

template<typename T>
void SDDS::SDDSParser::getParameterValue ( std::string parameter_name,
T & nval )
inline

Converts the string value of a parameter to a value of type T.

Parameters
parameter_nameparameter name
nvalstore result of type T in nval

Definition at line 187 of file SDDSParser.h.

References fixCaseSensitivity(), paramNameToID_m, and sddsData_m.

Referenced by SDDSWriter::replaceVersionString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getValue()

template<typename T>
void SDDS::SDDSParser::getValue ( int t,
std::string column_name,
T & nval )
inline

Converts the string value of a parameter at timestep t to a value of type T.

Parameters
ttimestep (beginning at 1, -1 means last)
column_nameparameter name
nvalstore result of type T in nval

Definition at line 86 of file SDDSParser.h.

References fixCaseSensitivity(), getBoostVariantValue(), getColumnIndex(), getColumnType(), and sddsData_m.

Referenced by SDDSWriter::getLastValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readFile()

std::string SDDS::SDDSParser::readFile ( )
private

Definition at line 94 of file SDDSParser.cpp.

References sddsFileName_m.

Referenced by run().

Here is the caller graph for this function:

◆ run()

SDDS::file SDDS::SDDSParser::run ( )

Definition at line 34 of file SDDSParser.cpp.

References columnNameToID_m, fixCaseSensitivity(), SDDS::column::name_m, SDDS::parameter::name_m, paramNameToID_m, readFile(), and sddsData_m.

Referenced by SDDSWriter::getLastValue(), and SDDSWriter::replaceVersionString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setInput()

void SDDS::SDDSParser::setInput ( const std::string & input)

Definition at line 30 of file SDDSParser.cpp.

References sddsFileName_m.

Member Data Documentation

◆ columnNameToID_m

std::map<std::string, int> SDDS::SDDSParser::columnNameToID_m
private

mapping from column name to ID in columns_m

Definition at line 59 of file SDDSParser.h.

Referenced by getColumnIndex(), and run().

◆ paramNameToID_m

std::map<std::string, int> SDDS::SDDSParser::paramNameToID_m
private

mapping from parameter name to offset in params_m

Definition at line 57 of file SDDSParser.h.

Referenced by getParameterValue(), and run().

◆ sddsData_m

SDDS::file SDDS::SDDSParser::sddsData_m
private

◆ sddsFileName_m

std::string SDDS::SDDSParser::sddsFileName_m
private

Definition at line 54 of file SDDSParser.h.

Referenced by readFile(), SDDSParser(), SDDSParser(), and setInput().


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