11 #ifndef IMPSCORE_FUNCTOR_HARMONIC_LOWER_BOUND_H
12 #define IMPSCORE_FUNCTOR_HARMONIC_LOWER_BOUND_H
14 #include <IMP/score_functor/score_functor_config.h>
17 #include <cereal/access.hpp>
19 IMPSCOREFUNCTOR_BEGIN_NAMESPACE
28 friend class cereal::access;
29 template<
class Archive>
void serialize(Archive &ar) {
36 template <
unsigned int D>
37 double get_score(
Model *,
39 double distance)
const {
40 if (distance > 0)
return 0;
41 return .5 * k_ * algebra::get_squared(distance);
43 template <
unsigned int D>
46 double distance)
const {
50 template <
unsigned int D>
51 double get_maximum_range(
55 template <
unsigned int D>
56 bool get_is_trivially_zero(
Model *,
58 double squared_distance)
const {
59 return squared_distance > 0;
63 IMPSCOREFUNCTOR_END_NAMESPACE
A class to store a fixed array of same-typed values.
Class for storing model, its restraints, constraints, and particles.
Functions to deal with very common math operations.
A Score on the distance between a pair of particles.
std::pair< double, double > DerivativePair
A pair representing a function value with its first derivative.
A functor for computing a distance based score for D particles.