Restrain the diameter of a set of points.
This restraint shows how to write a restraint that includes a ScoreState which is needed to compute some invariant.
The source code is as follows:
Inheritance diagram for IMP::example::ExampleComplexRestraint:Public Member Functions | |
| ExampleComplexRestraint (UnaryFunction *f, SingletonContainer *sc, Float diameter) | |
| Use f to restraint sc to be withing diameter of one another. | |
| void | set_model (Model *m) |
Public Member Functions inherited from IMP::Restraint | |
| Restraint (Model *m, std::string name) | |
| Restraint * | create_current_decomposition () const |
| Decompose this restraint into constituent terms for the current conf. | |
| Restraint * | create_decomposition () const |
| Decompose this restraint into constituent terms. | |
| double | evaluate (bool calc_derivs) const |
| Return the score for this restraint for the current state of the model. | |
| double | evaluate_if_below (bool calc_derivatives, double max) const |
| See Model::evaluate_with_maximum() | |
| double | evaluate_if_good (bool calc_derivatives) const |
| See Model::evaluate_if_good() | |
| double | get_last_score () const |
| bool | get_was_good () const |
| virtual double | unprotected_evaluate (DerivativeAccumulator *) const =0 |
| virtual double | unprotected_evaluate_if_good (DerivativeAccumulator *da, double max) const |
| virtual double | unprotected_evaluate_if_below (DerivativeAccumulator *da, double max) const |
| virtual ContainersTemp | get_input_containers () const =0 |
| virtual ParticlesTemp | get_input_particles () const =0 |
| void | set_weight (Float weight) |
| Float | get_weight () const |
| double | get_maximum_score () const |
| void | set_maximum_score (double s) |
Public Member Functions inherited from IMP::ModelObject | |
| ModelObject (Model *m, std::string name) | |
| ModelObjectsTemp | get_inputs () const |
| Model * | get_model () const |
| ModelObjectsTemp | get_outputs () const |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the object. | |
| virtual IMP::base::VersionInfo | get_version_info () const =0 |
| Get information about the module and version of the object. | |
| void | set_check_level (CheckLevel l) |
| void | set_log_level (LogLevel l) |
| Set the logging level used in this object. | |
| void | set_was_used (bool tf) const |
| void | show (std::ostream &out=std::cout) const |
| const std::string & | get_name () const |
| void | set_name (std::string name) |
Static Public Member Functions | |
| static ExampleComplexRestraint * | get_from (IMP::base::Object *o) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Restraint | |
| virtual Restraints | do_create_current_decomposition () const |
| virtual Restraints | do_create_decomposition () const |
Protected Member Functions inherited from IMP::ModelObject | |
| virtual ModelObjectsTemp | do_get_inputs () const =0 |
| virtual ModelObjectsTemp | do_get_outputs () const =0 |
| virtual void | do_update_dependencies (const DependencyGraph &, const DependencyGraphVertexIndex &) |
| void | update_dependencies (const DependencyGraph &dg, const DependencyGraphVertexIndex &index) |
Protected Member Functions inherited from IMP::base::Object | |
| Object (std::string name) | |
| IMP::example::ExampleComplexRestraint::ExampleComplexRestraint | ( | UnaryFunction * | f, |
| SingletonContainer * | sc, | ||
| Float | diameter | ||
| ) |
Use f to restraint sc to be withing diameter of one another.
f should have a minimum at 0 and be an upper bound-style function.