9 #ifndef IMPCORE_INCREMENTAL_SCORING_FUNCTION_H
10 #define IMPCORE_INCREMENTAL_SCORING_FUNCTION_H
12 #include <IMP/core/core_config.h>
17 #include <boost/unordered_map.hpp>
19 IMPCORE_BEGIN_NAMESPACE
21 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
54 struct ScoringFunctionsMap
55 :
public boost::unordered_map<ParticleIndex, Data> {
56 ~ScoringFunctionsMap();
58 ScoringFunctionsMap scoring_functions_;
63 Floats flattened_restraints_scores_;
67 struct Wrapper :
public Vector<internal::NBLScoring *> {
72 void create_scoring_functions();
73 void do_non_incremental_evaluate();
75 const boost::unordered_map<Restraint *, int> &all,
92 IMPCORE_DEPRECATED_OBJECT_DECL(2.17)
96 double weight = 1.0,
double max =
NO_MAX,
98 "IncrementalScoringFunction%1%");
105 void reset_moved_particles();
112 void add_close_pair_score(
PairScore *ps,
double distance,
115 void add_close_pair_score(
PairScore *ps,
double distance,
117 void clear_close_pair_scores();
127 IMPCORE_END_NAMESPACE
virtual void do_add_score_and_derivatives(ScoreAccumulator sa, const ScoreStatesTemp &ss)=0
Abstract class for scoring object(s) of type ParticleIndexPair.
const double NO_MAX
Use this value when you want to turn off maximum for restraint evaluation.
virtual Restraints create_restraints() const =0
Return a set of restraints equivalent to this scoring function.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class for storing model, its restraints, constraints, and particles.
A smart pointer to a ref-counted Object that is a class member.
Class for adding up scores during ScoringFunction evaluation.
virtual void handle_set_has_required_score_states(bool)
A nullptr-initialized pointer to an IMP Object.
Represents a scoring function on the model.
Functions to search over vectors.
Score the model efficiently when a small number of particles are changed.
A scoring function on a list of restraints.
virtual ModelObjectsTemp do_get_inputs() const =0