9 #ifndef IMPCORE_SURFACE_MOVER_H
10 #define IMPCORE_SURFACE_MOVER_H
12 #include <IMP/core/core_config.h>
19 #include <cereal/access.hpp>
20 #include <cereal/types/base_class.hpp>
21 #include <cereal/types/polymorphic.hpp>
24 IMPCORE_BEGIN_NAMESPACE
40 Float max_translation_;
46 double max_rotation,
double reflect_probability);
48 friend class cereal::access;
49 template<
class Archive>
void serialize(Archive &ar) {
50 ar(cereal::base_class<MonteCarloMover>(
this), last_transform_,
51 max_translation_, max_angle_, reflect_prob_, pi_);
57 Float max_rotation,
Float reflect_probability);
60 Float reflect_probability);
65 void set_maximum_translation(
Float mt);
68 void set_maximum_rotation(
Float mr);
71 void set_reflect_probability(
Float rp);
Simple Monte Carlo optimizer.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Storage of a model, its restraints, constraints and particles.
virtual void do_reject()=0
Implement reset_proposed_move()
Return value of the MonteCarloMover::propose() function.
Float get_maximum_rotation() const
Get the maximum rotation.
Modify a surface orientation.
Surface get_surface() const
Get the surface being moved.
A more IMP-like version of the std::vector.
Class for storing model, its restraints, constraints, and particles.
Simple surface decorator.
A base class for classes which perturb particles.
The base class for movers for Monte Carlo optimization.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
virtual MonteCarloMoverResult do_propose()=0
Implement propose_move()
A decorator for a particle that represents a surface, its coordinates, and orientation.
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
Float get_reflect_probability() const
Get the frequency of reflection moves.
Float get_maximum_translation() const
Get the maximum translation.
A shared base class to help in debugging and things.
double Float
Basic floating-point value (could be float, double...)
virtual ModelObjectsTemp do_get_inputs() const =0