IMP
2.2.1
The Integrative Modeling Platform
|
Implement a constraint on the Model. More...
#include <IMP/kernel/Constraint.h>
Public Member Functions | |
Constraint (kernel::Model *m, std::string name="Constraint %1%") | |
virtual void | do_after_evaluate (DerivativeAccumulator *da) |
virtual void | do_before_evaluate () |
virtual void | do_update_attributes ()=0 |
virtual void | do_update_derivatives (DerivativeAccumulator *da)=0 |
Public Member Functions inherited from IMP::kernel::ScoreState | |
ScoreState (kernel::Model *m, std::string name) | |
void | after_evaluate (DerivativeAccumulator *accpt) |
Do post evaluation work if needed. | |
void | before_evaluate () |
Force update of the structure. | |
Public Member Functions inherited from IMP::kernel::ModelObject | |
ModelObject (kernel::Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. | |
bool | get_has_required_score_states () const |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
void | set_has_dependencies (bool tf) |
void | set_has_required_score_states (bool tf) |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
virtual void | do_destroy () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
virtual VersionInfo | get_version_info () const |
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. More... | |
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) |
virtual std::string | get_type_name () const |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::kernel::ModelObject | |
virtual ModelObjectsTemp | do_get_inputs () const =0 |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual ModelObjectsTemp | do_get_outputs () const =0 |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
The solution model can be restricted two ways, either by penalizing "bad" conformations (a restraint) or by forcing some set of attributes to a function of other attributes (a constraint). For example, rigid bodies consisting of a number of particles could be implemented either way.
In IMP, constraints are implemented as a type of ScoreState. Before evaluation, the constraint updates the attributes of some of the particles to ensure that the constraint is satisfied. Since this update creates implicit relationships between the particles, after the derivatives are computed, the constraint can move them around to make sure the derivatives of the optimizer parameters are correct.
In general, constraints are associated with Decorator objects and created invisibly when needed.
Definition at line 49 of file kernel/Constraint.h.