9 #ifndef IMPCORE_MONTE_CARLO_MOVER_H
10 #define IMPCORE_MONTE_CARLO_MOVER_H
12 #include <IMP/core/core_config.h>
19 IMPCORE_BEGIN_NAMESPACE
28 ParticleIndexes, moved_particles,
double,
42 unsigned int num_proposed_;
43 unsigned int num_rejected_;
59 "Mover already had proposed a move. "
60 <<
" This probably means you added it twice: " << get_name());
86 unsigned int get_number_of_proposed()
const {
return num_proposed_; }
87 unsigned int get_number_of_accepted()
const {
88 return num_proposed_ - num_rejected_;
90 void reset_statistics() {
97 virtual MonteCarloMoverResult do_propose() = 0;
99 virtual void do_reject() = 0;
110 IMPCORE_END_NAMESPACE
Various general useful functions for IMP.
virtual void do_accept()
Implement accept_proposed_move(), default implementation is empty.
#define IMP_OBJECT_LOG
Set the log level to the object's log level.
Storage of a model, its restraints, constraints and particles.
virtual ModelObjectsTemp do_get_outputs() const
Various general useful macros for IMP.
Class for storing model, its restraints, constraints, and particles.
A base class for classes which perturb particles.
void accept()
Roll back any changes made to the Particles.
void reject()
Roll back any changes made to the Particles.
Single variable function.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
ModelObjectsTemp get_inputs() const
IMP::Vector< MonteCarloMoverResult > MonteCarloMoverResults
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
void set_was_used(bool tf) const
MonteCarloMoverResult propose()
propose a modification