IMP  2.0.1
The Integrative Modeling Platform
QuadsOptimizerState.h
Go to the documentation of this file.
1 /**
2  * \file IMP/container/QuadsOptimizerState.h
3  * \brief Use a QuadModifier applied to a ParticleQuadsTemp to
4  * maintain an invariant
5  *
6  * WARNING This file was generated from QuadsOptimizerState.h
7  * in /tmp/nightly-build-36540/imp-2.0.1/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_QUADS_OPTIMIZER_STATE_H
14 #define IMPCONTAINER_QUADS_OPTIMIZER_STATE_H
15 
16 #include <IMP/container/container_config.h>
17 #include <IMP/QuadContainer.h>
18 #include <IMP/QuadModifier.h>
19 #include <IMP/OptimizerState.h>
21 
22 IMPKERNEL_BEGIN_NAMESPACE
23 // for swig
24 class QuadContainer;
25 class QuadModifier;
26 IMPKERNEL_END_NAMESPACE
27 
28 IMPCONTAINER_BEGIN_NAMESPACE
29 //! Apply a QuadFunction to a QuadContainer to maintain an invariant
30 /** \ingroup restraint
31  \see QuadOptimizerState
32  */
33 class IMPCONTAINEREXPORT QuadsOptimizerState : public OptimizerState
34 {
35  IMP::OwnerPointer<QuadModifier> f_;
36  IMP::OwnerPointer<QuadContainer> c_;
37 public:
38  /** \param[in] c The Container to hold the elements to process
39  \param[in] gf The QuadModifier to apply to all elements.
40  \param[in] name The name to use for this Object
41  */
42  QuadsOptimizerState(QuadContainerAdaptor c, QuadModifier *gf,
43  std::string name="QuadsOptimizerState %1%");
44 
46 };
47 
49 
50 
51 IMPCONTAINER_END_NAMESPACE
52 
53 #endif /* IMPCONTAINER_QUADS_OPTIMIZER_STATE_H */