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 kernel::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
virtual kernel::ModelObjectsTemp do_get_outputs() const
IMP::base::Vector< MonteCarloMoverResult > MonteCarloMoverResults
ModelObjectsTemp get_inputs() const
Import IMP/kernel/particle_index.h in the namespace.
void set_was_used(bool tf) const
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.
Various general useful macros for IMP.
A base class for classes which perturb particles.
void accept()
Roll back any changes made to the kernel::Particles.
void reject()
Roll back any changes made to the kernel::Particles.
Storage of a model, its restraints, constraints and particles.
Import IMP/kernel/ModelObject.h in the namespace.
#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.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.
MonteCarloMoverResult propose()
propose a modification