9 #ifndef IMPISD_HYBRID_MONTE_CARLO_H
10 #define IMPISD_HYBRID_MONTE_CARLO_H
12 #include <IMP/isd/isd_config.h>
18 IMPISD_BEGIN_NAMESPACE
27 Float timestep = 1.0,
unsigned persistence = 1);
29 Float get_kinetic_energy()
const;
31 Float get_potential_energy()
const;
33 Float get_total_energy()
const;
36 void set_timestep(
Float ts);
37 double get_timestep()
const;
40 void set_number_of_md_steps(
unsigned nsteps);
41 unsigned get_number_of_md_steps()
const;
44 void set_persistence(
unsigned persistence = 1);
45 unsigned get_persistence()
const;
54 virtual void do_step()
override;
58 unsigned num_md_steps_, persistence_;
59 unsigned persistence_counter_;
virtual double do_evaluate(const ParticleIndexes &moved, bool force_full_score) const
Get the current energy.
Simple Monte Carlo optimizer.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A modifier which perturbs XYZs or Nuisances with a constant energy MD simulation. ...
Simple molecular dynamics optimizer.
Various general useful macros for IMP.
A smart pointer to a reference counted object.
virtual void do_step()
a class that inherits from this should override this method
Class for storing model, its restraints, constraints, and particles.
A smart pointer to a ref-counted Object that is a class member.
double Float
Basic floating-point value (could be float, double...)
Molecular dynamics optimizer on 1-D and 3-D particles.
Hybrid Monte Carlo optimizer.