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
51 double k, std::string name =
"RigidBodyUmbrella %1%");
71 Floats x2,
double alpha,
double k,
72 std::string name =
"RigidBodyUmbrella %1%");
74 void set_x0(
Floats x0) {x0_ = internal::Coord(x0); }
76 x0_ = interpolate(lambda, x1, x2);
79 return x0_.as_floats();
83 internal::Coord x(internal::get_coordinates_from_rbs(get_model(), pis,
87 void set_alpha(
double alpha) { alpha_ = alpha; }
88 void set_k(
double k) { k_ = k; }
96 internal::Coord interpolate(
double lambda,
Floats x1,
Floats x2)
const;
104 IMPCORE_END_NAMESPACE
Class for adding derivatives from restraints to the model.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Umbrella-like restraint for rigid bodies.
Abstract base class for all restraints.
A restraint is a term in an IMP ScoringFunction.
A Score on the distance between a pair of particles.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for storing model, its restraints, constraints, and particles.
Import IMP/kernel/generic.h in the namespace.