OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SDDS::SDDSParser Class Reference

#include <SDDSParser.h>

Inheritance diagram for SDDS::SDDSParser:
Inheritance graph
[legend]
Collaboration diagram for SDDS::SDDSParser:
Collaboration graph
[legend]

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 >
getBoostVariantValue (const ast::variant_t &val, int datatype) const
 Convert value from boost variant (only numeric types) to a value of type T. More...
 

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 More...
 
std::map< std::string, int > columnNameToID_m
 mapping from column name to ID in columns_m More...
 
SDDS::file sddsData_m
 

Detailed Description

Definition at line 44 of file SDDSParser.h.

Constructor & Destructor Documentation

◆ SDDSParser() [1/2]

SDDS::SDDSParser::SDDSParser ( )

Definition at line 22 of file SDDSParser.cpp.

◆ SDDSParser() [2/2]

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

Definition at line 26 of file SDDSParser.cpp.

Member Function Documentation

◆ fixCaseSensitivity() [1/2]

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

Definition at line 48 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(), getParameterValue(), and getValue().

◆ 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 203 of file SDDSParser.h.

References SDDS::ast::DOUBLE, SDDS::ast::FLOAT, SDDS::ast::LONG, SDDS::ast::SHORT, and Attrib::Legacy::Distribution::T.

Referenced by OpalSimulation::getData().

◆ getColumnData()

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

Definition at line 116 of file SDDSParser.cpp.

Referenced by OpalSimulation::getData().

◆ getColumnIndex()

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

Definition at line 123 of file SDDSParser.cpp.

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

◆ getColumnType()

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

Definition at line 71 of file SDDSParser.h.

References getColumnIndex(), SDDS::file::sddsColumns_m, and sddsData_m.

Referenced by OpalSimulation::getData(), getInterpolatedValue(), and getValue().

Here is the call graph for this function:

◆ getData()

file SDDS::SDDSParser::getData ( )
inline

Definition at line 237 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 174 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 114 of file SDDSParser.h.

References Physics::e, getColumnIndex(), getColumnType(), SDDS::file::sddsColumns_m, sddsData_m, and Attrib::Legacy::Distribution::T.

Referenced by getInterpolatedValue().

Here is the call 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 186 of file SDDSParser.h.

References fixCaseSensitivity(), paramNameToID_m, sddsData_m, and SDDS::file::sddsParameters_m.

Referenced by SDDSWriter::replaceVersionString().

Here is the call 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 85 of file SDDSParser.h.

References fixCaseSensitivity(), getColumnIndex(), getColumnType(), SDDS::file::sddsColumns_m, and sddsData_m.

Referenced by SDDSWriter::getLastValue().

Here is the call graph for this function:

◆ readFile()

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

Definition at line 94 of file SDDSParser.cpp.

References end().

Here is the call graph for this function:

◆ run()

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

Definition at line 34 of file SDDSParser.cpp.

References name, SDDS::column::name_m, SDDS::parameter::name_m, and readFile().

Referenced by OpalSimulation::getData(), SDDSWriter::getLastValue(), SDDSReader::parseFile(), and SDDSWriter::replaceVersionString().

Here is the call graph for this function:

◆ setInput()

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

Definition at line 30 of file SDDSParser.cpp.

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 58 of file SDDSParser.h.

◆ paramNameToID_m

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

mapping from parameter name to offset in params_m

Definition at line 56 of file SDDSParser.h.

Referenced by getParameterValue().

◆ sddsData_m

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

◆ sddsFileName_m

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

Definition at line 53 of file SDDSParser.h.


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