#ifndef CLUSTER_SCALAR_METRIC_HH
# define CLUSTER_SCALAR_METRIC_HH

# include "StateVector.hh"

/** @brief Scalar metric
 *
 * This class implements tha scalar metric between 2 StateVector.
 * The scalar metric formula is :
 * d(a,b) = abs(1-(a*b)/(norm(a)*norm(b)))
 *
 * This function comput the angular distance between two vectors
 * making abstraction of the norm of the vector.
 */
class ScalarMetric :public StateMetric {
public:
  ScalarMetric() {}
  ~ScalarMetric() {}

  StateVector::scalar_type operator()(StateVector const &a,
				      StateVector const &b) const;

}; // ScalarMetric

#endif // CLUSTER_SCALAR_METRIC_HH
