IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
>
15
#include <
IMP/core/PeriodicOptimizerState.h
>
16
#include <IMP/internal/InternalDynamicListPairContainer.h>
17
#include <
IMP/PairPredicate.h
>
18
#include <
IMP/base/Pointer.h
>
19
#include <
IMP/optimizer_state_macros.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
*/
29
class
IMPMISCEXPORT
DecayPairContainerOptimizerState
:
30
public
core::PeriodicOptimizerState
31
{
32
base::OwnerPointer<PairPredicate>
pred_;
33
base::OwnerPointer<PairContainer>
input_;
34
base::Pointer<IMP::internal::InternalDynamicListPairContainer>
output_;
35
public
:
36
DecayPairContainerOptimizerState
(
PairPredicate
*pred,
37
const
ParticlePairsTemp
&initial_list,
38
std::string name
39
=
"DecayPairContainerOptimizerState%1%"
);
40
PairContainer
*get_output_container()
const
{
41
return
output_;
42
}
43
virtual
void
do_update
(
unsigned
int
call_num) IMP_OVERRIDE;
44
IMP_OBJECT_METHODS
(
DecayPairContainerOptimizerState
);
45
};
46
47
48
IMPMISC_END_NAMESPACE
49
50
#endif
/* IMPMISC_DECAY_PAIR_CONTAINER_OPTIMIZER_STATE_H */