9 #ifndef IMPKERNEL_GENERIC_H
10 #define IMPKERNEL_GENERIC_H
12 #include <IMP/kernel/kernel_config.h>
13 #include "internal/scoring_functions.h"
14 #include "internal/TupleRestraint.h"
15 #include "internal/TupleConstraint.h"
17 IMPKERNEL_BEGIN_NAMESPACE
21 template <
class Restra
intType>
34 template <
class Score>
36 std::string name = std::string()) {
37 return internal::create_tuple_restraint(
38 s, IMP::kernel::internal::get_model(t),
42 template <
class Score>
44 const typename Score::Argument &t,
45 std::string name = std::string()) {
46 return internal::create_tuple_restraint(
47 const_cast<Score *>(s), IMP::kernel::internal::get_model(t),
55 template <
class Before,
class After>
57 const typename Before::Argument &t,
58 std::string name = std::string()) {
59 return internal::create_tuple_constraint(b, a, t, name);
62 IMPKERNEL_END_NAMESPACE
const double NO_MAX
Use this value when you want to turn off maximum for restraint evaluation.
Ints get_index(const kernel::ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
ScoringFunction * create_scoring_function(RestraintType *rs, double weight=1.0, double max=NO_MAX, std::string name=std::string())
A restraint is a term in an IMP ScoringFunction.
Implement a constraint on the Model.
Constraint * create_constraint(Before *b, After *a, Container *c, std::string name=std::string())
kernel::Restraint * create_restraint(Score *s, Container *c, std::string name=std::string())