8 #ifndef IMPSPB_MONTE_CARLO_WITH_WTE_H
9 #define IMPSPB_MONTE_CARLO_WITH_WTE_H
11 #include <IMP/spb/spb_config.h>
15 #include <boost/scoped_array.hpp>
17 IMPSPB_BEGIN_NAMESPACE
27 boost::scoped_array<double> bias_;
32 void do_initialize(
double emin,
double emax,
double sigma,
double gamma,
35 void update_bias(
double score);
37 double get_spline(
double score)
const;
41 double gamma,
double w0);
46 double get_bias(
double score)
const;
49 double *get_bias_buffer()
const {
return bias_.get(); }
52 Floats get_bias_asfloats()
const {
53 Floats buffer(bias_.get(), bias_.get() + nbin_);
57 int get_nbin()
const {
return nbin_; }
59 void set_w0(
double w0) { w0_ = w0; }
61 void set_bias(
const Floats &bias) {
64 std::copy(bias.begin(), bias.end(), bias_.get());
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Include all non-deprecated headers in IMP.core.
MonteCarlo in the Well-Tempered Ensemble.
Object used to hold a set of restraints.
virtual void do_step()
a class that inherits from this should override this method
Class for storing model, its restraints, constraints, and particles.
virtual double do_evaluate(const ParticleIndexes &moved) const
Get the current energy.
A smart pointer to a ref-counted Object that is a class member.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
Abstract base class for all restraints.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.