IMP  2.1.0
The Integrative Modeling Platform
TripletsOptimizerState.h
Go to the documentation of this file.
1 /**
2  * \file IMP/container/TripletsOptimizerState.h
3  * \brief Use a TripletModifier applied to a ParticleTripletsTemp to
4  * maintain an invariant
5  *
6  * WARNING This file was generated from TripletsOptimizerState.h
7  * in /tmp/nightly-build-90783/imp-2.1.0/tools/build/container_templates/container
8  * by tools/maintenance/setup_containers.py.
9  *
10  * Copyright 2007-2013 IMP Inventors. All rights reserved.
11  */
12 
13 #ifndef IMPCONTAINER_TRIPLETS_OPTIMIZER_STATE_H
14 #define IMPCONTAINER_TRIPLETS_OPTIMIZER_STATE_H
15 
16 #include <IMP/container/container_config.h>
17 #include <IMP/TripletContainer.h>
18 #include <IMP/TripletModifier.h>
19 #include <IMP/OptimizerState.h>
21 #include <IMP/base/Pointer.h>
22 
23 IMPKERNEL_BEGIN_NAMESPACE
24 // for swig
25 class TripletContainer;
26 class TripletModifier;
27 IMPKERNEL_END_NAMESPACE
28 
29 IMPCONTAINER_BEGIN_NAMESPACE
30 //! Apply a TripletFunction to a TripletContainer to maintain an invariant
31 /** \ingroup restraint
32  \see TripletOptimizerState
33  */
34 class IMPCONTAINEREXPORT TripletsOptimizerState : public OptimizerState {
37 
38  public:
39  /** \param[in] c The Container to hold the elements to process
40  \param[in] gf The TripletModifier to apply to all elements.
41  \param[in] name The name to use for this Object
42  */
43  TripletsOptimizerState(TripletContainerAdaptor c, TripletModifier *gf,
44  std::string name = "TripletsOptimizerState %1%");
45 
46  virtual void update() IMP_OVERRIDE;
48 };
49 
51 
52 IMPCONTAINER_END_NAMESPACE
53 
54 #endif /* IMPCONTAINER_TRIPLETS_OPTIMIZER_STATE_H */
A base class for modifiers of ParticleTripletsTemp.
A nullptr-initialized pointer to an IMP Object.
Import IMP/kernel/TripletContainer.h in the namespace.
IMP::kernel::TripletContainer TripletContainer
A smart pointer to a ref-counted Object that is a class memeber.
Definition: base/Pointer.h:146
Shared optimizer state that is invoked upon commitment of new coordinates.
Apply a TripletFunction to a TripletContainer to maintain an invariant.
IMP::kernel::TripletModifier TripletModifier
virtual void update()
Called when the Optimizer accepts a new conformation.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Import IMP/kernel/optimizer_state_macros.h in the namespace.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Import IMP/kernel/OptimizerState.h in the namespace.
Import IMP/kernel/TripletModifier.h in the namespace.