IMP logo
IMP Reference Guide  2.7.0
The Integrative Modeling Platform
IMP::ScoringFunction Class Referenceabstract

Represents a scoring function on the model. More...

#include "IMP/ScoringFunction.h"

+ Inheritance diagram for IMP::ScoringFunction:

Detailed Description

Represents a scoring function on the model.

A call to the evaluate() method prompts the following events:

  1. determine set of ScoreState objects needed by the Restraint objects being evaluated (this is cached)
  2. call ScoreState::before_evaluate() on each of them to update configuration
  3. call Restraint::unprotected_evaluate() to compute scores [and add derivatives in the particles, if requested]
  4. [call ScoreState::after_evaluate() on each score state to update derivatives]
  5. return the score

Definition at line 40 of file ScoringFunction.h.

Public Types

typedef std::pair< double, bool > ScoreIsGoodPair

Public Member Functions

 ScoringFunction (Model *m, std::string name)
virtual Restraints create_restraints () const =0
 Return a set of restraints equivalent to this scoring function. More...
virtual ModelObjectsTemp do_get_outputs () const
double evaluate (bool derivatives)
 Evaluate and return the score. More...
double evaluate_if_below (bool derivatives, double max)
double evaluate_if_good (bool derivatives)
bool get_had_good_score () const
double get_last_score () const
 returns the score that was calculated in the last evaluate call More...
- Public Member Functions inherited from IMP::ModelObject
 ModelObject (Model *m, std::string name)
bool get_has_dependencies () const
 Return whether this object has dependencies computed. More...
bool get_has_required_score_states () const
 Return whether score states are computed. More...
ModelObjectsTemp get_inputs () const
ModelObjectsTemps get_interactions () const
 Get the interacting sets induced by this ModelObject. More...
Modelget_model () const
ModelObjectsTemp get_outputs () const
const ScoreStatesTempget_required_score_states () const
 Get the score states that are ancestors of this in the dependency graph. More...
void set_has_dependencies (bool tf)
 Either invalidate the dependencies or ensure they are correct. More...
void set_has_required_score_states (bool tf)
 Compute the required score states. More...
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
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. More...
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

Protected Member Functions

virtual void do_add_score_and_derivatives (ScoreAccumulator sa, const ScoreStatesTemp &ss)=0
ScoreAccumulator get_score_accumulator (bool deriv)
ScoreAccumulator get_score_accumulator_if_below (bool deriv, double max)
ScoreAccumulator get_score_accumulator_if_good (bool deriv)
- Protected Member Functions inherited from IMP::ModelObject
virtual ModelObjectsTemp do_get_inputs () const =0
virtual ModelObjectsTemps do_get_interactions () const
virtual void handle_set_has_required_score_states (bool)
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
virtual void do_destroy ()

Member Function Documentation

virtual Restraints IMP::ScoringFunction::create_restraints ( ) const
pure virtual

Return a set of restraints equivalent to this scoring function.

Implemented in IMP::core::IncrementalScoringFunction.

virtual void IMP::ScoringFunction::do_add_score_and_derivatives ( ScoreAccumulator  sa,
const ScoreStatesTemp ss 
protectedpure virtual

Do the actual work of computing the score and (optional) derivatives. The list of all score states that must be updated is passed.

Implemented in IMP::core::IncrementalScoringFunction.

virtual ModelObjectsTemp IMP::ScoringFunction::do_get_outputs ( ) const

Get any Particle, Container or other ModelObjects changed by this during evaluation. This is only useful for ScoreStates, at the moment.

Implements IMP::ModelObject.

Definition at line 65 of file ScoringFunction.h.

double IMP::ScoringFunction::evaluate ( bool  derivatives)

Evaluate and return the score.

the resulting score
derivativesif true, updates the derivatives of the scoring function
bool IMP::ScoringFunction::get_had_good_score ( ) const

Return true if the last evaluate satisfied all the restraint thresholds.

Definition at line 83 of file ScoringFunction.h.

double IMP::ScoringFunction::get_last_score ( ) const

returns the score that was calculated in the last evaluate call

Definition at line 86 of file ScoringFunction.h.

The documentation for this class was generated from the following file: