A class to help implement movers.
This class helps in implementing Movers by allowing changes to be easily rolled back. It maintains a list of particles and a list of attributes. All changes to the product of those two lists will be rolled back when reject_move() is called.
See NormalMover for a simple example using this class.
Inheritance diagram for IMP::core::MoverBase:Public Member Functions | |
| ParticlesTemp | get_output_particles () const |
| Return the set of particles over which moves can be proposed. | |
| virtual ParticlesTemp | propose_move (Float f) |
| virtual void | reset_move () |
| Roll back any changes made to the Particles. | |
Public Member Functions inherited from IMP::core::Mover | |
| Mover (Model *m, std::string name) | |
| Optimizer * | get_optimizer () const |
| Get a pointer to the optimizer which has this mover. | |
Public Member Functions inherited from IMP::ModelObject | |
| ModelObject (Model *m, std::string name) | |
| ModelObjectsTemp | get_inputs () const |
| Model * | get_model () const |
| ModelObjectsTemp | get_outputs () const |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the object. | |
| virtual IMP::base::VersionInfo | get_version_info () const =0 |
| Get information about the module and version of the object. | |
| void | set_check_level (CheckLevel l) |
| void | set_log_level (LogLevel l) |
| Set the logging level used in this object. | |
| 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) |
Protected Member Functions | |
| MoverBase (const ParticlesTemp &ps, const FloatKeys &keys, std::string name) | |
| virtual void | do_move (Float f)=0 |
| implement this method to propose a move | |
| unsigned int | get_number_of_keys () const |
| unsigned int | get_number_of_particles () const |
| std::string | get_particle_name (unsigned int i) const |
| Float | get_value (unsigned int i, unsigned int j) const |
| Get the value of a controlled attribute. | |
| void | propose_value (unsigned int i, unsigned int j, Float t) |
| Propose a value. | |
|
protectedpure virtual |
implement this method to propose a move
See NormalMover for a simple example.
|
virtual |
Return the set of particles over which moves can be proposed.
Implements IMP::core::Mover.
|
protected |
Get the value of a controlled attribute.
| [in] | i | The index of the particle. |
| [in] | j | The index of the attribute. |
|
virtual |
This sets everything up and then calls the generate_move method.
Implements IMP::core::Mover.
|
protected |
Propose a value.
| [in] | i | The index of the particle. |
| [in] | j | The index of the key |
| [in] | t | The value to propose |
|
virtual |
Roll back any changes made to the Particles.
Implements IMP::core::Mover.