9 #ifndef IMPKERNEL_SCORE_ACCUMULATOR_H
10 #define IMPKERNEL_SCORE_ACCUMULATOR_H
12 #include <IMP/kernel/kernel_config.h>
24 IMPKERNEL_BEGIN_NAMESPACE
32 EvaluationState(
double oscore,
bool ogood): score(oscore), good(ogood) {}
56 double global_max,
double local_max,
bool abort_on_bad):
59 global_max_(global_max),
60 local_max_(local_max),
62 abort_on_bad_(abort_on_bad) {}
74 double weight,
double local_max) {
77 local_max_= std::min(local_max, o.local_max_);
83 double wscore= weight_.get_weight()*score;
85 score_->score += wscore;
86 if (score > local_max_) {
98 if (global_max_==
NO_MAX && !abort_on_bad_)
return false;
107 double score= score_->score;
108 return score > global_max_;
126 double get_maximum()
const {
return std::min(global_max_, local_max_);}
141 IMPKERNEL_END_NAMESPACE