9 #ifndef IMPCORE_DISTANCE_RESTRAINT_H
10 #define IMPCORE_DISTANCE_RESTRAINT_H
12 #include <IMP/core/core_config.h>
20 #include <cereal/access.hpp>
21 #include <cereal/types/base_class.hpp>
22 #include <cereal/types/polymorphic.hpp>
24 IMPCORE_BEGIN_NAMESPACE
36 #if defined(SWIG) || defined(IMP_DOXYGEN)
39 public IMP::internal::TupleRestraint<DistancePairScore>
42 friend class cereal::access;
44 template<
class Archive>
void serialize(Archive &ar) {
45 ar(cereal::base_class<
46 IMP::internal::TupleRestraint<DistancePairScore> >(
this));
61 std::string name =
"DistanceRestraint %1%");
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Take Decorator, Particle or ParticleIndex.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
Distance restraint between two particles.
A more IMP-like version of the std::vector.
Class for storing model, its restraints, constraints, and particles.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
A Score on the distance between a pair of particles.
Abstract base class for all restraints.
Abstract single variable functor class for score functions.
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.