9 #ifndef IMPCORE_RIGID_BODY_MOVER_H
10 #define IMPCORE_RIGID_BODY_MOVER_H
12 #include <IMP/core/core_config.h>
19 #include <cereal/access.hpp>
20 #include <cereal/types/base_class.hpp>
22 IMPCORE_BEGIN_NAMESPACE
33 Float max_translation_;
37 friend class cereal::access;
38 template<
class Archive>
void serialize(Archive &ar) {
39 ar(cereal::base_class<MonteCarloMover>(
this),
40 last_transformation_, max_translation_, max_angle_, pi_);
56 void set_maximum_translation(
Float mt) {
58 max_translation_ = mt;
61 void set_maximum_rotation(
Float mr) {
66 Float get_maximum_translation()
const {
return max_translation_; }
68 Float get_maximum_rotation()
const {
return max_angle_; }
A container for Singletons.
Simple Monte Carlo optimizer.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Modify the transformation of a rigid body.
virtual void do_reject()=0
Implement reset_proposed_move()
Return value of the MonteCarloMover::propose() function.
A more IMP-like version of the std::vector.
Class for storing model, its restraints, constraints, and particles.
A base class for classes which perturb particles.
functionality for defining rigid bodies
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()
double Float
Basic floating-point value (could be float, double...)
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
virtual ModelObjectsTemp do_get_inputs() const =0