|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <SDDSParser.h>


Public Member Functions | |
| SDDSParser () | |
| SDDSParser (const std::string &input) | |
| void | setInput (const std::string &input) |
| file | run () |
| const file & | getData () const |
| const ast::columnData_t & | getColumnData (const std::string &columnName) const |
| ast::dataType | getColumnType (const std::string &col_name) const |
| template<typename T > | |
| void | getValue (int t, const std::string &column_name, T &nval) |
| template<typename T > | |
| void | getInterpolatedValue (const std::string &ref_name, double ref_val, const std::string &col_name, T &nval) |
| template<typename T > | |
| void | getInterpolatedValue (double spos, const std::string &col_name, T &nval) |
| template<typename T > | |
| void | getParameterValue (const std::string ¶meter_name, T &nval) |
| template<typename T > | |
| T | getVariantValue (const ast::variant_t &val, ast::dataType type) const |
| Convert value from variant (only numeric types) to a value of type T. | |
Private Member Functions | |
| std::string | readFile () |
| int | getColumnIndex (const std::string &col_name) const |
Static Private Member Functions | |
| static std::string | normalizeKey (std::string_view value) |
Private Attributes | |
| std::string | sddsFileName_m |
| std::unordered_map< std::string, std::size_t > | paramNameToID_m |
| mapping from parameter name to offset in params_m | |
| std::unordered_map< std::string, std::size_t > | columnNameToID_m |
| mapping from column name to ID in columns_m | |
| SDDS::file | sddsData_m |
Definition at line 35 of file SDDSParser.h.
| SDDS::SDDSParser::SDDSParser | ( | ) |
Definition at line 29 of file SDDSParser.cpp.
| SDDS::SDDSParser::SDDSParser | ( | const std::string & | input | ) |
Definition at line 33 of file SDDSParser.cpp.
| const SDDS::ast::columnData_t & SDDS::SDDSParser::getColumnData | ( | const std::string & | columnName | ) | const |
Definition at line 147 of file SDDSParser.cpp.
Referenced by OpalSimulation::getData().
|
private |
Definition at line 152 of file SDDSParser.cpp.
Referenced by getColumnType(), getInterpolatedValue(), and getValue().
|
inline |
Definition at line 57 of file SDDSParser.h.
References getColumnIndex(), SDDS::file::sddsColumns_m, and sddsData_m.
Referenced by OpalSimulation::getData(), getInterpolatedValue(), and getValue().

|
inline |
Definition at line 235 of file SDDSParser.h.
References sddsData_m.
|
inline |
Converts the string value of a parameter to a value of type T.
| ref_name | reference quantity (e.g. spos) |
| ref_val | interpolate value of reference quantity (e.g. spos) |
| col_name | parameter name |
| nval | store result of type T in nval |
Definition at line 102 of file SDDSParser.h.
References getColumnIndex(), getColumnType(), SDDS::file::sddsColumns_m, and sddsData_m.
Referenced by getInterpolatedValue().

|
inline |
Converts the string value of a parameter at a position spos to a value of type T.
| spos | interpolate value at spos |
| col_name | parameter name |
| nval | store result of type T in nval |
Definition at line 167 of file SDDSParser.h.
References getInterpolatedValue().

|
inline |
Converts the string value of a parameter to a value of type T.
| parameter_name | parameter name |
| nval | store result of type T in nval |
Definition at line 179 of file SDDSParser.h.
References normalizeKey(), paramNameToID_m, sddsData_m, and SDDS::file::sddsParameters_m.
Referenced by SDDSWriter::replaceVersionString().

|
inline |
Converts the string value of a parameter at timestep t to a value of type T.
| t | timestep (beginning at 1, -1 means last) |
| column_name | parameter name |
| nval | store result of type T in nval |
Definition at line 71 of file SDDSParser.h.
References getColumnIndex(), getColumnType(), SDDS::file::sddsColumns_m, and sddsData_m.
Referenced by SDDSWriter::getLastValue().

|
inline |
Convert value from variant (only numeric types) to a value of type T.
Definition at line 193 of file SDDSParser.h.
References SDDS::ast::DOUBLE, SDDS::ast::FLOAT, SDDS::ast::LONG, and SDDS::ast::SHORT.
Referenced by OpalSimulation::getData().
|
staticprivate |
Definition at line 162 of file SDDSParser.cpp.
Referenced by getParameterValue().
|
private |
Definition at line 119 of file SDDSParser.cpp.
| SDDS::file SDDS::SDDSParser::run | ( | ) |
Definition at line 41 of file SDDSParser.cpp.
References SDDS::file::clear(), SDDS::parser::SimpleParser::dataStartPos(), name, SDDS::parser::SimpleParser::parse(), readFile(), and SDDS::parser::skipper::skipWhitespaceAndComments().
Referenced by OpalSimulation::getData(), SDDSWriter::getLastValue(), SDDSReader::parseFile(), and SDDSWriter::replaceVersionString().

| void SDDS::SDDSParser::setInput | ( | const std::string & | input | ) |
Definition at line 37 of file SDDSParser.cpp.
|
private |
mapping from column name to ID in columns_m
Definition at line 44 of file SDDSParser.h.
|
private |
mapping from parameter name to offset in params_m
Definition at line 42 of file SDDSParser.h.
Referenced by getParameterValue().
|
private |
Definition at line 46 of file SDDSParser.h.
Referenced by getColumnType(), getData(), getInterpolatedValue(), getParameterValue(), and getValue().
|
private |
Definition at line 39 of file SDDSParser.h.