/* * FunctionArgument.hpp * * Created on: 02.10.2012 * Author: heber */ #ifndef FUNCTIONARGUMENT_HPP_ #define FUNCTIONARGUMENT_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include /** This class encapsulates all information with respect to a single argument * for a high-dimensional model function. * * We restrict ourselves here to a function that dependent on a set of * three-dimensional vectors, i.e. a set of positions in space. And for * the moment to distances in between these sets. * */ struct argument_t { typedef std::pair indices_t; /** Default constructor for class argument_t. * */ argument_t() : indices( std::make_pair(0,1) ), distance(0.) {} /** Constructor for class argument_t. * * This constructors uses the index pair (0,1) as default. * * \param _distance distance argument */ argument_t(const double &_distance) : indices( std::make_pair(0,1) ), distance(_distance) {} /** Constructor for class argument_t. * * \param _indices pair of indices associated with the \a _distance * \param _distance distance argument */ argument_t(const indices_t &_indices, const double &_distance) : indices( _indices ), distance(_distance) {} //!> indices between which the distance is given indices_t indices; //!> distance double distance; }; #endif /* FUNCTIONARGUMENT_HPP_ */