IMP  2.1.0
The Integrative Modeling Platform
SingletonsRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/container/SingletonsRestraint.h
3  * \brief Apply a SingletonScore to each Singleton in a list.
4  *
5  * WARNING This file was generated from SingletonsRestraint.h
6  * in /tmp/nightly-build-90783/imp-2.1.0/tools/build/container_templates/container
7  * by tools/maintenance/setup_containers.py.
8  *
9  * Copyright 2007-2013 IMP Inventors. All rights reserved.
10  *
11  */
12 
13 #ifndef IMPCONTAINER_SINGLETONS_RESTRAINT_H
14 #define IMPCONTAINER_SINGLETONS_RESTRAINT_H
15 
16 #include <IMP/container/container_config.h>
17 
18 #include <IMP/kernel/internal/InternalSingletonsRestraint.h>
19 
20 #include <iostream>
21 
22 IMPCONTAINER_BEGIN_NAMESPACE
23 
24 //! Applies a SingletonScore to each Singleton in a list.
25 /** This restraint stores the used particles in a ParticlesTemp.
26  The container used can be set so that the list can be shared
27  with other containers (or a nonbonded list can be used).
28 
29  Examples using various multiplicity containers:
30  \include restrain_in_sphere.py
31  \include nonbonded_interactions.py
32 
33  \see IMP::core::SingletonRestraint
34  */
36 #if defined(SWIG) || defined(IMP_DOXYGEN)
37  public Restraint
38 #else
39  public IMP::kernel::internal::InternalSingletonsRestraint
40 #endif
41  {
42  typedef IMP::kernel::internal::InternalSingletonsRestraint P;
43 
44  public:
45 
46  //! Create the restraint with a shared container
47  /** \param[in] ss The function to apply to each particle.
48  \param[in] pc The container containing the stored particles. This
49  container is not copied.
50  \param[in] name The object name
51  */
52  SingletonsRestraint(SingletonScore *ss, SingletonContainerAdaptor pc,
53  std::string name = "SingletonsRestraint %1%")
54  : P(ss, pc, name) {}
55 
56 #if defined(IMP_DOXYGEN) || defined(SWIG)
57  double unprotected_evaluate(IMP::DerivativeAccumulator *accum) const;
58  IMP::kernel::ModelObjectsTemp do_get_inputs() const;
60 #endif
61 };
62 
63 IMP_OBJECTS(SingletonsRestraint, SingletonsRestraints);
64 
65 IMPCONTAINER_END_NAMESPACE
66 
67 #endif /* IMPCONTAINER_SINGLETONS_RESTRAINT_H */
Applies a SingletonScore to each Singleton in a list.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
SingletonsRestraint(SingletonScore *ss, SingletonContainerAdaptor pc, std::string name="SingletonsRestraint %1%")
Create the restraint with a shared container.
Abstract score function.