9 #ifndef IMPMULTIFIT_COMPLEMENTARITY_RESTRAINT_H
10 #define IMPMULTIFIT_COMPLEMENTARITY_RESTRAINT_H
12 #include <IMP/multifit/multifit_config.h>
17 IMPMULTIFIT_BEGIN_NAMESPACE
44 std::string name =
"ComplementarityRestraint %1%");
50 maximum_penetration_score_ = s;
61 complementarity_thickness_ = th;
69 interior_thickness_ = th;
73 void set_penetration_coefficient(
double pc) { penetration_coef_ = pc; }
75 void set_complementarity_coefficient(
double cc) {
76 complementarity_coef_ = cc;
79 void set_boundary_coefficient(
double bc) { boundary_coef_ = bc; }
80 float get_voxel_size()
const {
return voxel_size_; }
87 double max)
const override;
90 typedef std::pair<algebra::Transformation3D, algebra::DenseGrid3D<float> >
95 double thickness,
double value,
96 double interior_thickness,
double voxel)
const;
98 double thickness,
double value,
99 double interior_thickness,
106 double maximum_separation_, maximum_penetration_score_;
107 double maximum_penetration_;
108 double complementarity_thickness_, complementarity_value_;
109 double penetration_coef_, complementarity_coef_, boundary_coef_;
110 double interior_thickness_, voxel_size_;
113 IMPMULTIFIT_END_NAMESPACE
void set_complementarity_value(double th)
void set_maximum_penetration(double d)
Compute the complementarity between two molecules.
Helper class for creating an IMP object storing some data.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Helper class for creating an IMP object storing some data.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
void set_complementarity_thickness(double th)
virtual double unprotected_evaluate_if_good(DerivativeAccumulator *da, double max) const
functionality for defining rigid bodies
void set_maximum_separation(double s)
DensityGrid get_grid(IMP::em::DensityMap *in)
Return a dense grid containing the voxels of the passed density map.
All grids that are in the Python API should be defined here.
void set_interior_layer_thickness(double th)
A decorator for a rigid body.
void set_maximum_penetration_score(double s)
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.