13 #ifndef IMPCONTAINER_DISTRIBUTE_TRIPLETS_SCORE_STATE_H
14 #define IMPCONTAINER_DISTRIBUTE_TRIPLETS_SCORE_STATE_H
16 #include <IMP/container/container_config.h>
23 #include <boost/tuple/tuple.hpp>
27 IMPCONTAINER_BEGIN_NAMESPACE
38 typedef boost::tuple<Pointer<DynamicListTripletContainer>,
41 mutable std::size_t input_version_;
42 void update_lists_if_necessary()
const;
47 "DistributeTripletsScoreState %1%");
54 (input_, predicate->get_name() +
" output"));
55 data_.push_back(Data(c, predicate, value));
65 IMPCONTAINER_END_NAMESPACE
virtual void do_before_evaluate()=0
Update the state given the current state of the model.
A container for Triplets.
Macros for various classes.
Distribute contents of one container into several based on predicates.
Store a ParticleIndexTriplets.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual void do_after_evaluate(DerivativeAccumulator *accpt)=0
Do any necessary updates after the model score is calculated.
DynamicListTripletContainer * add_predicate(TripletPredicate *predicate, int value)
Store a list of ParticleTripletsTemp.
#define IMP_NEW(Typename, varname, args)
Declare a ref counted pointer to a new object.
Abstract predicate function.
ScoreStates maintain invariants in the Model.
A smart pointer to a ref-counted Object that is a class member.
A class for storing lists of IMP items.
virtual ModelObjectsTemp do_get_outputs() const =0
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.