IMP  2.2.1
The Integrative Modeling Platform
IMP::kernel::ScoringFunction Class Referenceabstract

#include "IMP/ScoringFunction.h"

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

Public Types

typedef std::pair< double, bool > ScoreIsGoodPair
 

Public Member Functions

 ScoringFunction (kernel::Model *m, std::string name)
 
virtual Restraints create_restraints () const =0
 
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
 
- 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
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
const ScoreStatesTempget_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
 

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...
 

Detailed Description

A ScoringFunction 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 samping 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.

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
virtual

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 the score function and return the resulting score

Parameters
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 88 of file kernel/ScoringFunction.h.

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

returns the score that was calculated in the last call evaluate

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


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