9 #ifndef IMPKERNEL_RESTRAINT_SET_H
10 #define IMPKERNEL_RESTRAINT_SET_H
12 #include <IMP/kernel_config.h>
14 #include "container_macros.h"
17 IMPKERNEL_BEGIN_NAMESPACE
40 void show_it(std::ostream &out)
const;
45 const std::string &name =
"RestraintSet %1%");
50 const std::string &name =
"RestraintSet %1%");
62 if (container) on_remove(container, obj));
66 std::pair<RestraintsTemp, RestraintSetsTemp> get_non_sets_and_sets()
const;
73 double max = std::numeric_limits<double>::max())
const;
76 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
91 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
95 for (It c = b; c != e; ++c) {
99 get_restraints_internal(rs->restraints_begin(), rs->restraints_end(),
112 get_restraints_internal(b, e, ret);
113 std::sort(ret.begin(), ret.end());
114 ret.erase(std::unique(ret.begin(), ret.end()), ret.end());
118 IMPKERNEL_END_NAMESPACE
RestraintsTemp get_restraints(const Subset &s, const ParticleStatesTable *pst, const DependencyGraph &dg, RestraintSet *rs)
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual void do_add_score_and_derivatives(ScoreAccumulator sa) const
A restraint should override this to compute the score and derivatives.
virtual ScoringFunction * create_scoring_function(double weight=1.0, double max=NO_MAX) const
Create a scoring function with only this restraint.
virtual Restraints do_create_decomposition() const
IMP::Vector< IMP::WeakPointer< Restraint > > RestraintsTemp
Object used to hold a set of restraints.
Class for storing model, its restraints, constraints, and particles.
virtual Restraints do_create_current_decomposition() const
Class for adding up scores during ScoringFunction evaluation.
virtual double get_last_score() const
Represents a scoring function on the model.
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.