IMP  2.4.0
The Integrative Modeling Platform
Public Types | Public Member Functions | Protected Member Functions | List of all members
IMP::kernel::ScoringFunction Class Referenceabstract

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

#include "IMP/ScoringFunction.h"

+ Inheritance diagram for IMP::kernel::ScoringFunction:

Detailed Description

Represents a scoring function on the model.

The Model has a default scoring function (kernel::Model::get_model_scoring_function()), but it can be useful to use others in different contexts during a sampling process.

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)
  1. call ScoreState::before_evaluate() on each of them to update configuration
  1. call Restraint::unprotected_evaluate() to compute scores [and add derivatives in the particles]
  1. [call ScoreState::after_evaluate() on each score state to update derivatives]
  1. score returned

Definition at line 44 of file kernel/ScoringFunction.h.

Public Types

typedef std::pair< double, bool > ScoreIsGoodPair

Public Member Functions

 ScoringFunction (kernel::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::kernel::ModelObject
 ModelObject (kernel::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::base::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::kernel::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::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
virtual void do_destroy ()

Member Function Documentation

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

Return a set of restraints equivalent to this scoring function.

Implemented in IMP::core::IncrementalScoringFunction.

virtual void IMP::kernel::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.

virtual ModelObjectsTemp IMP::kernel::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::kernel::ModelObject.

Definition at line 69 of file kernel/ScoringFunction.h.

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

Evaluate and return the score.

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

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

Definition at line 87 of file kernel/ScoringFunction.h.

double IMP::kernel::ScoringFunction::get_last_score ( ) const

returns the score that was calculated in the last evaluate call

Definition at line 90 of file kernel/ScoringFunction.h.

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