13 #ifndef IMPCONTAINER_PREDICATE_PAIRS_RESTRAINT_H
14 #define IMPCONTAINER_PREDICATE_PAIRS_RESTRAINT_H
16 #include <IMP/container/container_config.h>
17 #include <boost/unordered_map.hpp>
23 IMPCONTAINER_BEGIN_NAMESPACE
37 mutable boost::unordered_map<int, kernel::ParticleIndexPairs> lists_;
38 boost::unordered_map<int, base::PointerMember<PairScore> > scores_;
39 mutable std::size_t input_version_;
40 bool error_on_unknown_;
41 void update_lists_if_necessary()
const;
45 PairContainerAdaptor input,
47 "PredicatePairsRestraint %1%");
64 return lists_.find(predicate_value)->second;
74 Restraints do_create_current_decomposition() const;
77 IMPCONTAINER_END_NAMESPACE
void set_is_complete(bool tf)
Various important functionality for implementing decorators.
A smart pointer to a ref-counted Object that is a class memeber.
Applies a PairScore to each Pair in a list based on a predicate.
kernel::ParticleIndexPairs get_indexes(int predicate_value) const
IMP::base::Vector< IMP::base::Pointer< Restraint > > Restraints
virtual void do_add_score_and_derivatives(ScoreAccumulator sa) const
Import IMP/kernel/PairPredicate.h in the namespace.
Class for adding up scores during ScoringFunction evaluation.
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Abstract predicate function.
virtual ModelObjectsTemp do_get_inputs() const =0