// -*- C++ -*-

namespace OpenChams {
/*! \class Parameters
 *
 *  This class describes a set of Parameters.
 *  Parameters consist in two maps associating a parameter name to a double value or a std::string (equation).
 */

/*! \fn Parameters::Parameters()
 *   \brief creates a new set of parameters.
 */

/*! \fn double Parameters::getValue(Name name)
 *   \brief returns the value of the parameter named \c name.
 * 
 *   \param name the name of the parameter.
 *
 *   \return the parameter double value.
 */

/*! \fn std::string Parameters::getEqValue(Name name)
 *   \brief returns the equation value of the parameter named \c name.
 *
 *   \param name the name of the parameter.
 *
 *   \return the parameter equation value (std::string).
 */

/*! \fn void Parameters::addParameter(Name name, double value)
 *   \brief adds a new value parameter.
 *
 *   \param name  the name of the parameter.
 *   \param value the value of the parameter.
 */

/*! \fn void Parameters::addParameter(Name name, std::string equation)
 *   \brief adds a new equation parameter.
 *
 *   \param name     the name of the parameter.
 *   \param equation the equation of the parameter.
 */

/*! \fn inline bool Parameters::isEmpty()
 *   \brief returns true if Parameters has no value parameter nor equation parameter.
 */

/*! \fn inline const std::map<Name, double>& Parameters::getValues()
 *   \brief returns the map of value parameters.
 */

/*! \fn inline const std::map<Name, std::string>& Parameters::getEqValues()
 *   \brief returns the map of equation parameters.
 */
}
