IMP logo
IMP Reference Guide  develop.e6c37e56ed,2022/01/25
The Integrative Modeling Platform
QuadsRestraint.h
Go to the documentation of this file.
1 // Autogenerated by ../../../../tmp/nightly-build-314/imp-20220125.develop.e6c37e56ed/tools/build/make_containers.py
2 // from ../../../../tmp/nightly-build-314/imp-20220125.develop.e6c37e56ed/tools/build/container_templates/container/ClassnamesRestraint.h
3 // Do not edit - any changes will be lost!
4 
5 /**
6  * \file IMP/container/QuadsRestraint.h
7  * \brief Apply a QuadScore to each Quad in a list.
8  *
9  * Copyright 2007-2022 IMP Inventors. All rights reserved.
10  *
11  */
12 
13 #ifndef IMPCONTAINER_QUADS_RESTRAINT_H
14 #define IMPCONTAINER_QUADS_RESTRAINT_H
15 
16 #include <IMP/container/container_config.h>
17 #include <IMP/internal/ContainerRestraint.h>
18 #include <IMP/QuadContainer.h>
19 #include <IMP/QuadScore.h>
20 
21 IMPCONTAINER_BEGIN_NAMESPACE
22 
23 //! Applies a QuadScore to each Quad in a list.
24 /** This restraint stores the used particle indexes in a ParticleIndexQuads.
25  The container used can be set so that the list can be shared
26  with other containers (or a nonbonded list can be used).
27 
28  Examples using various multiplicity containers:
29  \include restrain_in_sphere.py
30  \include nonbonded_interactions.py
31 
32  \see IMP::core::QuadRestraint
33  */
35 #if defined(SWIG) || defined(IMP_DOXYGEN)
36  public Restraint
37 #else
38  public IMP::internal::ContainerRestraint<QuadScore, QuadContainer>
39 #endif
40  {
41  typedef IMP::internal::ContainerRestraint<
43 
44  public:
45  //! Create the restraint with a shared container
46  /** \param[in] ss The function to apply to each particle.
47  \param[in] pc The container containing the stored particles. This
48  container is not copied.
49  \param[in] name The object name
50  */
52  std::string name = "QuadsRestraint %1%")
53  : P(ss, pc, name) {}
54 
55 #if defined(IMP_DOXYGEN) || defined(SWIG)
56  double unprotected_evaluate(IMP::DerivativeAccumulator *accum) const;
57  IMP::ModelObjectsTemp do_get_inputs() const;
59 #endif
60 };
61 
63 
64 IMPCONTAINER_END_NAMESPACE
65 
66 #endif /* IMPCONTAINER_QUADS_RESTRAINT_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
A container for Quads.
A more IMP-like version of the std::vector.
Definition: Vector.h:40
Abstract class for scoring object(s) of type ParticleIndexQuad.
Definition: QuadScore.h:42
Applies a QuadScore to each Quad in a list.
A shared container for Quads.
Definition: QuadContainer.h:37
Define QuadScore.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
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.
Definition: Restraint.h:54