11#include <framework/core/FrameworkExceptions.h>
12#include <framework/gearbox/Unit.h>
60 operator bool()
const {
return exists(); }
67 std::vector<GearDir>
getNodes(
const std::string& path =
"")
const;
78 virtual std::string
getString(
const std::string& path =
"") const noexcept(false) = 0;
101 std::
string getString(const
std::
string& path, const
std::
string& defaultValue) const;
112 virtual const TObject*
getTObject(const
std::
string& path) const noexcept(false) = 0;
121 double getDouble(const
std::
string& path =
"") const noexcept(false);
132 double getDouble(const
std::
string& path,
double defaultValue) const noexcept(false);
141 int getInt(const
std::
string& path =
"") const noexcept(false);
152 int getInt(const
std::
string& path,
int defaultValue) const noexcept(false);
160 bool getBool(const
std::
string& path =
"") const noexcept(false);
170 bool getBool(const
std::
string& path,
bool defaultValue) const;
185 double getWithUnit(const
std::
string& path) const noexcept(false);
203 double getWithUnit(const
std::
string& path,
double defaultValue) const noexcept(false);
281 double getLength(
const std::string& path,
double defaultValue)
const noexcept(
false)
299 double getAngle(
const std::string& path =
"") const noexcept(false)
321 double getAngle(
const std::string& path,
double defaultValue)
const noexcept(
false)
339 double getEnergy(
const std::string& path =
"") const noexcept(false)
361 double getEnergy(
const std::string& path,
double defaultValue)
const noexcept(
false)
379 double getDensity(
const std::string& path =
"") const noexcept(false)
401 double getDensity(
const std::string& path,
double defaultValue)
const noexcept(
false)
419 double getTime(
const std::string& path =
"") const noexcept(false)
441 double getTime(
const std::string& path,
double defaultValue)
const noexcept(
false)
459 double getFrequency(
const std::string& path =
"") const noexcept(false)
481 double getFrequency(
const std::string& path,
double defaultValue)
const noexcept(
false)
489 std::string ensureNode(
const std::string& path)
const ;
491 std::string ensurePath(
const std::string& path)
const;
493 std::string addIndex(
const std::string& path,
int index)
const;
495 std::string joinPath(
const std::string& path,
const std::string& subpath)
const;
GearDir is the basic class used for accessing the parameter store.
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 getAngle(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard angle 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.
Interface()
default constructor initializing to toplevel parameter space
double getDensity(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard density unit.
virtual std::string getString(const std::string &path="") const noexcept(false)=0
Get the parameter path as a string.
double getFrequency(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard frequency 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.
double getTime(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard time 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 getEnergy(const std::string &path, double defaultValue) const noexcept(false)
Get the parameter path as a double converted to the standard energy unit.
double getDouble(const std::string &path="") const noexcept(false)
Get the parameter path as a double.
std::string getPath() const
Return path of the current interface.
bool exists(const std::string &path="") const
Check if a given parameter path exists.
virtual const TObject * getTObject(const std::string &path) const noexcept(false)=0
Get the parameter path as a TObject.
double getEnergy(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard energy unit.
std::string m_path
path of the current interface
virtual ~Interface()
empty, virtual destructor
double getLength(const std::string &path="") const noexcept(false)
Get the parameter path as a double converted to the standard length unit.
virtual int getNumberNodes(const std::string &path="") const =0
Return the number of nodes a given path will expand to.
double getFrequency(const std::string &path, double defaultValue) const noexcept(false)
Get the parameter path as a double converted to the standard frequency unit.
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.
double getWithUnit(const std::string &path) const noexcept(false)
Get the parameter path as a double converted to the standard 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.
bool getBool(const std::string &path="") const noexcept(false)
Get the parameter path as a bool.
int getInt(const std::string &path="") const noexcept(false)
Get the parameter path as a int.
#define BELLE2_DEFINE_EXCEPTION(ClassName, Message)
Macro that defines an exception with the given message template.
Eigen::VectorXd getNodes(int Size)
Get the vector of positions of the Chebyshev nodes The nodes are by definition between 0 and 1,...
Abstract base class for different kinds of events.