|
IMP Reference Guide
2.23.0
The Integrative Modeling Platform
|
A base class for classes which perturb particles. More...
#include <IMP/core/MonteCarloMover.h>
Inheritance diagram for IMP::core::MonteCarloMover: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 44 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 override |
| 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 87 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 112 of file MonteCarloMover.h.
|
overrideprotectedvirtual |
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 114 of file MonteCarloMover.h.
Here is the call graph for this function:
|
protectedpure virtual |
Implement propose_move()
Implemented in IMP::core::TransformationSymmetryMover, IMP::pmi::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::SurfaceMover, IMP::core::BallMover, IMP::core::DirectionMover, IMP::core::LogNormalMover, IMP::core::RigidBodyMover, IMP::core::NormalMover, IMP::em2d::RelativePositionMover, IMP::core::SubsetMover, IMP::core::SerialMover, IMP::kinematics::RevoluteJointMover, IMP::spb::RigidBodyNewMover, IMP::spb::PbcBoxedRigidBodyMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::spb::PbcBoxedMover, IMP::kinematics::DihedralMover, IMP::symmetry::BallMover, IMP::isd::WeightMover, IMP::spb::BoxedMover, and IMP::spb::CellMover.
|
protectedpure virtual |
Implement reset_proposed_move()
Implemented in IMP::core::TransformationSymmetryMover, IMP::pmi::TransformMover, IMP::core::RigidBodyTunneler, IMP::core::BallMover, IMP::core::SurfaceMover, IMP::core::DirectionMover, IMP::core::LogNormalMover, IMP::core::RigidBodyMover, IMP::core::NormalMover, IMP::em2d::RelativePositionMover, IMP::core::SubsetMover, IMP::core::SerialMover, IMP::kinematics::RevoluteJointMover, IMP::spb::RigidBodyNewMover, IMP::spb::PbcBoxedRigidBodyMover, IMP::symmetry::RigidBodyMover, IMP::isd::MolecularDynamicsMover, IMP::spb::PbcBoxedMover, IMP::kinematics::DihedralMover, IMP::symmetry::BallMover, IMP::isd::WeightMover, IMP::spb::BoxedMover, 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 66 of file MonteCarloMover.h.
Here is the call graph for this function:| void IMP::core::MonteCarloMover::reject | ( | ) |
Roll back any changes made to the Particles.
Definition at line 79 of file MonteCarloMover.h.