IMP  2.1.1
The Integrative Modeling Platform
PairsRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/container/PairsRestraint.h
3  * \brief Apply a PairScore to each Pair in a list.
4  *
5  * WARNING This file was generated from PairsRestraint.h
6  * in /tmp/nightly-build-61576/imp-2.1.1/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_PAIRS_RESTRAINT_H
14 #define IMPCONTAINER_PAIRS_RESTRAINT_H
15 
16 #include <IMP/container/container_config.h>
17 
18 #include <IMP/kernel/internal/InternalPairsRestraint.h>
19 
20 #include <iostream>
21 
22 IMPCONTAINER_BEGIN_NAMESPACE
23 
24 //! Applies a PairScore to each Pair in a list.
25 /** This restraint stores the used particles in a ParticlePairsTemp.
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::PairRestraint
34  */
36 #if defined(SWIG) || defined(IMP_DOXYGEN)
37  public Restraint
38 #else
39  public IMP::kernel::internal::InternalPairsRestraint
40 #endif
41  {
42  typedef IMP::kernel::internal::InternalPairsRestraint 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  PairsRestraint(PairScore *ss, PairContainerAdaptor pc,
53  std::string name = "PairsRestraint %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(PairsRestraint, PairsRestraints);
64 
65 IMPCONTAINER_END_NAMESPACE
66 
67 #endif /* IMPCONTAINER_PAIRS_RESTRAINT_H */
PairsRestraint(PairScore *ss, PairContainerAdaptor pc, std::string name="PairsRestraint %1%")
Create the restraint with a shared container.
Class for adding derivatives from restraints to the model.
Abstract score function.
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.
Applies a PairScore to each Pair in a list.