![]() |
Belle II Software development
|
GearDir is the basic class used for accessing the parameter store. More...
#include <GearDir.h>
Public Member Functions | |
GearDir (const gearbox::Interface &start, const std::string &path, int index=0) | |
Create a GearDir starting at a given base path and appending some subpath and optionally an index. | |
GearDir (const std::string &path="", int index=0) | |
Create a GearDir with an absolute path and optionally appending an index. | |
GearDir (const GearDir &other) | |
Copy constructor. | |
void | append (const std::string &path) |
Append something to the current path, modifying the GearDir in place. | |
virtual int | getNumberNodes (const std::string &path="") const override |
Return the number of nodes a given path will expand to. | |
virtual std::string | getString (const std::string &path="") const noexcept(false) override |
Get the parameter path as a string. | |
std::string | getString (const std::string &path, const std::string &defaultValue) const |
Get the parameter path as a string. | |
virtual std::pair< std::string, std::string > | getStringWithUnit (const std::string &path="") const noexcept(false) override |
Get the parameter path as string and also return the unit it was defined with. | |
virtual const TObject * | getTObject (const std::string &path) const noexcept(false) override |
Get the parameter path as a TObject. | |
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. | |
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 | |
GearDir is the basic class used for accessing the parameter store.
To access parameters, just create a GearDir with the correct path and use the getter functions defined by gearbox::Interface to retrieve any parameter in the given path
GearDir parameters("/test/"); int foo = parameters.getInt("bar");
will return an integer value of the parameter /test/bar
|
inline |
Create a GearDir starting at a given base path and appending some subpath and optionally an index.
Definition at line 34 of file GearDir.h.
|
inline |
|
protectedinherited |
add [index] to the path (after stripping trailing slashes)
Definition at line 166 of file Interface.cc.
|
inline |
|
protectedinherited |
make sure the path really corresponds to an XPath node expression by removing trailing slashes
Definition at line 156 of file Interface.cc.
|
protectedinherited |
make sure the path really corresponds to a path by appending a trailing slash if neccessary
Definition at line 161 of file Interface.cc.
|
inlineinherited |
Check if a given parameter path exists.
Definition at line 54 of file Interface.h.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inherited |
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.
|
inherited |
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.
|
inherited |
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.
|
inherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inherited |
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.
|
inherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inherited |
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.
|
inherited |
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.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inherited |
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.
|
inlineoverridevirtual |
Return the number of nodes a given path will expand to.
Implements Interface.
Definition at line 58 of file GearDir.h.
|
inlineinherited |
|
inline |
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 |
|
inlineoverridevirtual |
Get the parameter path as a string.
gearbox::PathEmptyError | if path is empty or does not exist |
path | Path of the parameter to get |
Implements Interface.
Definition at line 69 of file GearDir.h.
|
inlineoverridevirtual |
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 |
Implements Interface.
Definition at line 98 of file GearDir.h.
|
inlineinherited |
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.
|
inlineinherited |
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.
|
inlineoverridevirtual |
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 |
Implements Interface.
Definition at line 112 of file GearDir.h.
|
inherited |
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.
|
inherited |
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.
|
protectedinherited |
joind to paths, inserting a slash if neccessary
Definition at line 172 of file Interface.cc.
|
inlineinherited |
Convert to bool to simplify checking of existence.
Definition at line 60 of file Interface.h.
|
protectedinherited |
path of the current interface
Definition at line 498 of file Interface.h.