IMP
2.4.0
The Integrative Modeling Platform
|
A base class for classes which perturb particles. More...
#include <IMP/core/MonteCarloMover.h>
A base class for classes which perturb particles.
Mover objects propose a move, which can then be either accepted or rejected based on some criteria. For example, in a Monte-Carlo evaluation scheme.
All changed attributes should be optimizable, it is undefined behavior to try to optimize an attribute which is not.
The output particles (kernel::ModelObject::do_get_outputs()) are assumed to be equal to the inputs (kernel::ModelObject::do_get_inputs()).
Definition at line 41 of file MonteCarloMover.h.
Public Member Functions | |
MonteCarloMover (kernel::Model *m, std::string name) | |
void | accept () |
Roll back any changes made to the kernel::Particles. More... | |
MonteCarloMoverResult | propose () |
propose a modification More... | |
void | reject () |
Roll back any changes made to the kernel::Particles. More... | |
Public Member Functions inherited from IMP::kernel::ModelObject | |
ModelObject (kernel::Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. More... | |
bool | get_has_required_score_states () const |
Return whether score states are computed. More... | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Get the interacting sets induced by this ModelObject. More... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
Get the score states that are ancestors of this in the dependency graph. More... | |
void | set_has_dependencies (bool tf) |
Either invalidate the dependencies or ensure they are correct. More... | |
void | set_has_required_score_states (bool tf) |
Compute the required score states. More... | |
Public Member Functions inherited from IMP::base::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
virtual VersionInfo | get_version_info () const |
Get information about the module and version of the object. More... | |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
virtual std::string | get_type_name () const |
Protected Member Functions | |
virtual void | do_accept () |
Implement accept_proposed_move(), default implementation is empty. More... | |
virtual kernel::ModelObjectsTemp | do_get_outputs () const |
virtual MonteCarloMoverResult | do_propose ()=0 |
Implement propose_move() More... | |
virtual void | do_reject ()=0 |
Implement reset_proposed_move() More... | |
Protected Member Functions inherited from IMP::kernel::ModelObject | |
virtual ModelObjectsTemp | do_get_inputs () const =0 |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::base::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
Statistics | |
unsigned int | get_number_of_proposed () const |
unsigned int | get_number_of_accepted () const |
void | reset_statistics () |
void IMP::core::MonteCarloMover::accept | ( | ) |
Roll back any changes made to the kernel::Particles.
Definition at line 76 of file MonteCarloMover.h.
|
protectedvirtual |
Implement accept_proposed_move(), default implementation is empty.
Reimplemented in IMP::core::SerialMover.
Definition at line 101 of file MonteCarloMover.h.
|
protectedvirtual |
Get any Particle, Container or other ModelObjects changed by this during evaluation. This is only useful for ScoreStates, at the moment.
Implements IMP::kernel::ModelObject.
Definition at line 103 of file MonteCarloMover.h.
|
protectedpure virtual |
Implement propose_move()
Implemented in IMP::pmi::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::BallMover, IMP::core::RigidBodyMover, IMP::em2d::RelativePositionMover, IMP::core::NormalMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::core::SerialMover, IMP::isd::WeightMover, and IMP::symmetry::BallMover.
|
protectedpure virtual |
Implement reset_proposed_move()
Implemented in IMP::pmi::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::BallMover, IMP::core::RigidBodyMover, IMP::em2d::RelativePositionMover, IMP::core::NormalMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::core::SerialMover, IMP::isd::WeightMover, and IMP::symmetry::BallMover.
MonteCarloMoverResult IMP::core::MonteCarloMover::propose | ( | ) |
propose a modification
The method should return the list of all particles that were actually moved and the ratio between the backward move probability and the forward move probability (for Metropolis-Hastings moves). Just return 1.0 for this value if you are not sure.
Definition at line 55 of file MonteCarloMover.h.
void IMP::core::MonteCarloMover::reject | ( | ) |
Roll back any changes made to the kernel::Particles.
Definition at line 68 of file MonteCarloMover.h.