13 #ifndef IMPCONTAINER_QUADS_RESTRAINT_H
14 #define IMPCONTAINER_QUADS_RESTRAINT_H
16 #include <IMP/container/container_config.h>
17 #include <IMP/internal/ContainerRestraint.h>
20 #include <cereal/access.hpp>
21 #include <cereal/types/base_class.hpp>
23 IMPCONTAINER_BEGIN_NAMESPACE
37 #if defined(SWIG) || defined(IMP_DOXYGEN)
40 public IMP::internal::ContainerRestraint<QuadScore, QuadContainer>
43 typedef IMP::internal::ContainerRestraint<
46 friend class cereal::access;
48 template<
class Archive>
void serialize(Archive &ar) {
49 ar(cereal::base_class<P>(
this));
61 std::string name =
"QuadsRestraint %1%")
66 #if defined(IMP_DOXYGEN) || defined(SWIG)
75 IMPCONTAINER_END_NAMESPACE
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A more IMP-like version of the std::vector.
Abstract class for scoring object(s) of type ParticleIndexQuad.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
Applies a QuadScore to each Quad in a list.
A shared container for Quads.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
QuadsRestraint(QuadScore *ss, QuadContainerAdaptor pc, std::string name="QuadsRestraint %1%")
Create the restraint with a shared container.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.