8 #ifndef IMPCONTAINER_CLOSE_PAIR_CONTAINER_H
9 #define IMPCONTAINER_CLOSE_PAIR_CONTAINER_H
11 #include <IMP/container/container_config.h>
12 #include "internal/ClosePairContainer.h"
14 #include <cereal/access.hpp>
15 #include <cereal/types/base_class.hpp>
17 IMPCONTAINER_BEGIN_NAMESPACE
67 #if defined(IMP_DOXYGEN) || defined(SWIG)
70 public internal::ClosePairContainer
73 typedef internal::ClosePairContainer P;
75 friend class cereal::access;
77 template<
class Archive>
void serialize(Archive &ar) {
78 ar(cereal::base_class<P>(
this));
90 std::string name =
"ClosePairContainer%1%");
101 std::string name =
"ClosePairContainer%1%");
105 #if defined(SWIG) || defined(IMP_DOXYGEN)
116 void set_slack(
double s);
117 double get_slack()
const;
126 unsigned int get_number_of_update_calls()
const;
129 unsigned int get_number_of_full_rebuilds()
const;
132 unsigned int get_number_of_partial_rebuilds()
const;
135 virtual std::size_t do_get_contents_hash()
const override;
158 IMPCONTAINER_END_NAMESPACE
virtual ParticleIndexPairs get_range_indexes() const =0
A shared container for Pairs.
double get_slack_estimate(Model *m, ParticleIndexes ps, double upper_bound, double step, const RestraintsTemp &restraints, bool derivatives, Optimizer *opt, ClosePairContainer *cpc)
A base class for algorithms to find spatial proximities.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Return all close unordered pairs of particles taken from the SingletonContainer.
Base class for all optimizers.
A more IMP-like version of the std::vector.
A base class for modifiers of ParticlePairsTemp.
#define IMP_LIST(protection, Ucname, lcname, Data, PluralData)
A macro to provide a uniform interface for storing lists of objects.
Class for storing model, its restraints, constraints, and particles.
Base class for all optimizers.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
virtual ParticleIndexes get_all_possible_indexes() const =0
Get contained particles.
Abstract predicate function.
virtual ParticleIndexPairs get_indexes() const =0
virtual ModelObjectsTemp do_get_inputs() const =0