9 #ifndef IMPCORE_RIGIDBODY_UMBRELLA_H
10 #define IMPCORE_RIGIDBODY_UMBRELLA_H
12 #include <IMP/core/core_config.h>
13 #include <IMP/core/internal/tunneler_helpers.h>
22 IMPCORE_BEGIN_NAMESPACE
52 double k, std::string name =
"RigidBodyUmbrella %1%");
73 Floats x2,
double alpha,
double k,
74 std::string name =
"RigidBodyUmbrella %1%");
76 void set_x0(
Floats x0) {x0_ = internal::Coord(x0); }
78 x0_ = interpolate(lambda, x1, x2);
81 return x0_.as_floats();
85 internal::Coord x(internal::get_coordinates_from_rbs(get_model(), pis,
89 void set_alpha(
double alpha) { alpha_ = alpha; }
90 void set_k(
double k) { k_ = k; }
99 internal::Coord interpolate(
double lambda,
Floats x1,
Floats x2)
const;
107 IMPCORE_END_NAMESPACE
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
Umbrella-like restraint for rigid bodies.
Class for storing model, its restraints, constraints, and particles.
A Score on the distance between a pair of particles.
Abstract base class for all restraints.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.
Compile-time generic restraint and constraint support.