Belle II Software development
|
Exception to be thrown in case of an empty result. More...
#include <Interface.h>
Public Member Functions | |
Interface () | |
default constructor initializing to toplevel parameter space | |
virtual | ~Interface () |
empty, virtual destructor | |
virtual int | getNumberNodes (const std::string &path="") const =0 |
Return the number of nodes a given path will expand to. | |
bool | exists (const std::string &path="") const |
Check if a given parameter path exists. | |
operator bool () const | |
Convert to bool to simplify checking of existence. | |
std::vector< GearDir > | getNodes (const std::string &path="") const |
Get vector of GearDirs which point to all the nodes the given path evaluates to. | |
std::string | getPath () const |
Return path of the current interface. | |
virtual std::string | getString (const std::string &path="") const noexcept(false)=0 |
Get the parameter path as a string. | |
virtual std::pair< std::string, std::string > | getStringWithUnit (const std::string &path) const noexcept(false)=0 |
Get the parameter path as string and also return the unit it was defined with. | |
std::string | getString (const std::string &path, const std::string &defaultValue) const |
Get the parameter path as a string. | |
virtual const TObject * | getTObject (const std::string &path) const noexcept(false)=0 |
Get the parameter path as a TObject. | |
double | getDouble (const std::string &path="") const noexcept(false) |
Get the parameter path as a double. | |
double | getDouble (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double. | |
int | getInt (const std::string &path="") const noexcept(false) |
Get the parameter path as a int. | |
int | getInt (const std::string &path, int defaultValue) const noexcept(false) |
Get the parameter path as a int. | |
bool | getBool (const std::string &path="") const noexcept(false) |
Get the parameter path as a bool. | |
bool | getBool (const std::string &path, bool defaultValue) const |
Get the parameter path as a bool. | |
double | getWithUnit (const std::string &path) const noexcept(false) |
Get the parameter path as a double converted to the standard unit. | |
double | getWithUnit (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard unit. | |
std::vector< double > | getArray (const std::string &path) const noexcept(false) |
Get the parameter path as a list of double values converted to the standard unit. | |
std::vector< double > | getArray (const std::string &path, const std::vector< double > &defaultValue) const noexcept(false) |
Get the parameter path as a list of double values converted to the standard unit. | |
double | getLength (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard length unit. | |
double | getLength (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard length unit. | |
double | getAngle (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard angle unit. | |
double | getAngle (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard angle unit. | |
double | getEnergy (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard energy unit. | |
double | getEnergy (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard energy unit. | |
double | getDensity (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard density unit. | |
double | getDensity (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard density unit. | |
double | getTime (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard time unit. | |
double | getTime (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard time unit. | |
double | getFrequency (const std::string &path="") const noexcept(false) |
Get the parameter path as a double converted to the standard frequency unit. | |
double | getFrequency (const std::string &path, double defaultValue) const noexcept(false) |
Get the parameter path as a double converted to the standard frequency unit. | |
Protected Member Functions | |
std::string | ensureNode (const std::string &path) const |
make sure the path really corresponds to an XPath node expression by removing trailing slashes | |
std::string | ensurePath (const std::string &path) const |
make sure the path really corresponds to a path by appending a trailing slash if neccessary | |
std::string | addIndex (const std::string &path, int index) const |
add [index] to the path (after stripping trailing slashes) | |
std::string | joinPath (const std::string &path, const std::string &subpath) const |
joind to paths, inserting a slash if neccessary | |
Protected Attributes | |
std::string | m_path |
path of the current interface | |
Exception to be thrown in case of an empty result.
Exception to be thrown in case of an conversion error getTObject() couldn't deserialize data. common interface for Gearbox and GearDir.
Definition at line 35 of file Interface.h.
|
inline |
default constructor initializing to toplevel parameter space
Definition at line 39 of file Interface.h.
|
inlinevirtual |
|
protected |
add [index] to the path (after stripping trailing slashes)
Definition at line 166 of file Interface.cc.
|
protected |
make sure the path really corresponds to an XPath node expression by removing trailing slashes
Definition at line 156 of file Interface.cc.
|
protected |
make sure the path really corresponds to a path by appending a trailing slash if neccessary
Definition at line 161 of file Interface.cc.
|
inline |
Check if a given parameter path exists.
Definition at line 54 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard angle unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 321 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard angle unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 299 of file Interface.h.
std::vector< double > getArray | ( | const std::string & | path | ) | const |
Get the parameter path as a list of double values converted to the standard unit.
The content of the parameter will be split at whitespace, comma and semi-colon and returned as a vector of numbers
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 123 of file Interface.cc.
std::vector< double > getArray | ( | const std::string & | path, |
const std::vector< double > & | defaultValue | ||
) | const |
Get the parameter path as a list of double values converted to the standard unit.
The content of the parameter will be split at whitespace, comma and semi-colon and returned as a vector of numbers
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 146 of file Interface.cc.
bool getBool | ( | const std::string & | path, |
bool | defaultValue | ||
) | const |
Get the parameter path as a bool.
If the parameter is empty or does not exist, the defaultValue will be returned.
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 88 of file Interface.cc.
bool getBool | ( | const std::string & | path = "" | ) | const |
Get the parameter path as a bool.
gearbox::PathEmptyError | if path is empty or does not exist |
path | Path of the parameter to get |
Definition at line 80 of file Interface.cc.
|
inline |
Get the parameter path as a double converted to the standard density unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 401 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard density unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 379 of file Interface.h.
double getDouble | ( | const std::string & | path, |
double | defaultValue | ||
) | const |
Get the parameter path as a double.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 51 of file Interface.cc.
double getDouble | ( | const std::string & | path = "" | ) | const |
Get the parameter path as a double.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 41 of file Interface.cc.
|
inline |
Get the parameter path as a double converted to the standard energy unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 361 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard energy unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 339 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard frequency unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 481 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard frequency unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 459 of file Interface.h.
int getInt | ( | const std::string & | path, |
int | defaultValue | ||
) | const |
Get the parameter path as a int.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 71 of file Interface.cc.
int getInt | ( | const std::string & | path = "" | ) | const |
Get the parameter path as a int.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 60 of file Interface.cc.
|
inline |
Get the parameter path as a double converted to the standard length unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 281 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard length unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 259 of file Interface.h.
std::vector< GearDir > getNodes | ( | const std::string & | path = "" | ) | const |
Get vector of GearDirs which point to all the nodes the given path evaluates to.
path | Path of the parameters to get |
Definition at line 21 of file Interface.cc.
|
pure virtual |
|
inline |
std::string getString | ( | const std::string & | path, |
const std::string & | defaultValue | ||
) | const |
Get the parameter path as a string.
if the parameter is empty or does not exist, the defaultvalue will be returned.
path | path of the parameter to get |
defaultValue | value to return if the path es empty or does not exist |
Definition at line 32 of file Interface.cc.
|
pure virtual |
|
pure virtual |
Get the parameter path as string and also return the unit it was defined with.
If no unit was defined, an empty string will be returned for the unit. No parsing of the unit is performed, this funtion is primarily used by getWithUnit.
gearbox::PathEmptyError | if path is empty or does not exist |
path | Path of the parameter to get |
|
inline |
Get the parameter path as a double converted to the standard time unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 441 of file Interface.h.
|
inline |
Get the parameter path as a double converted to the standard time unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 419 of file Interface.h.
|
pure virtual |
Get the parameter path as a TObject.
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::TObjectConversionError | if the value could not be deserialized |
path | Path of the parameter to get |
double getWithUnit | ( | const std::string & | path | ) | const |
Get the parameter path as a double converted to the standard unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted
gearbox::PathEmptyError | if path is empty or does not exist |
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
Definition at line 97 of file Interface.cc.
double getWithUnit | ( | const std::string & | path, |
double | defaultValue | ||
) | const |
Get the parameter path as a double converted to the standard unit.
Gearbox will try to determine the unit with which the parameter was saved and convert it to the default system. If no unit can be determinded, it will be assumed that the parameter does not need to be converted.
If the parameter is empty or does not exist, the defaultValue will be returned.
gearbox::ConversionError | if the value could not converted to a numerical type |
path | Path of the parameter to get |
defaultValue | Value to return if the Path es empty or does not exist |
Definition at line 114 of file Interface.cc.
|
protected |
joind to paths, inserting a slash if neccessary
Definition at line 172 of file Interface.cc.
|
inline |
Convert to bool to simplify checking of existence.
Definition at line 60 of file Interface.h.
|
protected |
path of the current interface
Definition at line 498 of file Interface.h.