IMP  2.1.0
The Integrative Modeling Platform
DecayPairContainerOptimizerState.h
Go to the documentation of this file.
1 /**
2  * \file IMP/misc/DecayPairContainerOptimizerState.h
3  * \brief Track the particles pairs passed to the pair score.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPMISC_DECAY_PAIR_CONTAINER_OPTIMIZER_STATE_H
9 #define IMPMISC_DECAY_PAIR_CONTAINER_OPTIMIZER_STATE_H
10 
11 #include <IMP/misc/misc_config.h>
12 #include <IMP/OptimizerState.h>
13 #include <IMP/PairContainer.h>
14 #include <IMP/PairContainer.h>
16 #include <IMP/kernel/internal/InternalDynamicListPairContainer.h>
17 #include <IMP/PairPredicate.h>
18 #include <IMP/base/Pointer.h>
20 
21 IMPMISC_BEGIN_NAMESPACE
22 
23 //! Maintain a pair container with a decaying list of pairs.
24 /** The pair container passed to the constructor provides an initial
25  list of pairs. Periodically (see the set_period() method), the
26  pedicate is applied to all the remaining pairs and ones for which
27  it evaluates to 0 are removed.
28  */
30  : public kernel::OptimizerState {
34 
35  public:
37  PairPredicate *pred, const kernel::ParticlePairsTemp &initial_list,
38  std::string name = "DecayPairContainerOptimizerState%1%");
39  PairContainer *get_output_container() const { return output_; }
40  virtual void do_update(unsigned int call_num) IMP_OVERRIDE;
42 };
43 
44 IMPMISC_END_NAMESPACE
45 
46 #endif /* IMPMISC_DECAY_PAIR_CONTAINER_OPTIMIZER_STATE_H */
virtual void do_update(unsigned int)
A nullptr-initialized pointer to an IMP Object.
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.
Maintain a pair container with a decaying list of pairs.
A shared container for Pairs.
Import IMP/kernel/PairContainer.h in the namespace.
Import IMP/kernel/PairPredicate.h in the namespace.
Shared optimizer state.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Abstract predicate function.
Import IMP/kernel/optimizer_state_macros.h in the namespace.
Import IMP/kernel/OptimizerState.h in the namespace.