IMP Reference Guide
2.13.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. Most commonly this is 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 (ModelObject::do_get_outputs()) are assumed to be equal to the inputs (ModelObject::do_get_inputs()).
Definition at line 42 of file MonteCarloMover.h.
Public Member Functions | |
MonteCarloMover (Model *m, std::string name) | |
void | accept () |
Accept/commit any changes made to the Particles. More... | |
MonteCarloMoverResult | propose () |
Propose a modification. More... | |
void | reject () |
Roll back any changes made to the Particles. More... | |
Public Member Functions inherited from IMP::ModelObject | |
ModelObject (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::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 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::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::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 | ( | ) |
Accept/commit any changes made to the Particles.
Definition at line 77 of file MonteCarloMover.h.
|
protectedvirtual |
Implement accept_proposed_move(); default implementation is empty.
Reimplemented in IMP::core::SubsetMover, and IMP::core::SerialMover.
Definition at line 102 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::ModelObject.
Definition at line 104 of file MonteCarloMover.h.
|
protectedpure virtual |
Implement propose_move()
Implemented in IMP::core::TransformationSymmetryMover, IMP::pmi::TransformMover, IMP::pmi1::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::SurfaceMover, IMP::core::BallMover, IMP::core::DirectionMover, IMP::em2d::RelativePositionMover, IMP::core::RigidBodyMover, IMP::core::LogNormalMover, IMP::core::NormalMover, IMP::core::SubsetMover, IMP::kinematics::RevoluteJointMover, IMP::spb::RigidBodyNewMover, IMP::spb::PbcBoxedRigidBodyMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::core::SerialMover, IMP::spb::PbcBoxedMover, IMP::symmetry::BallMover, IMP::spb::BoxedMover, IMP::isd::WeightMover, and IMP::spb::CellMover.
|
protectedpure virtual |
Implement reset_proposed_move()
Implemented in IMP::core::TransformationSymmetryMover, IMP::pmi::TransformMover, IMP::pmi1::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::SurfaceMover, IMP::core::BallMover, IMP::core::DirectionMover, IMP::em2d::RelativePositionMover, IMP::core::RigidBodyMover, IMP::core::LogNormalMover, IMP::core::NormalMover, IMP::core::SubsetMover, IMP::kinematics::RevoluteJointMover, IMP::spb::RigidBodyNewMover, IMP::spb::PbcBoxedRigidBodyMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::core::SerialMover, IMP::spb::PbcBoxedMover, IMP::symmetry::BallMover, IMP::spb::BoxedMover, IMP::isd::WeightMover, and IMP::spb::CellMover.
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 56 of file MonteCarloMover.h.
void IMP::core::MonteCarloMover::reject | ( | ) |
Roll back any changes made to the Particles.
Definition at line 69 of file MonteCarloMover.h.