8 #ifndef IMPMPI_REPLICA_EXCHANGE_H
9 #define IMPMPI_REPLICA_EXCHANGE_H
11 #include "mpi_config.h"
17 IMPMPI_BEGIN_NAMESPACE
35 std::map<std::string, Floats> parameters_;
39 Ints create_indexes();
42 Ints create_exarray();
44 bool get_acceptance(
double myscore,
double fscore);
46 int get_rank(
int index);
53 void set_my_parameter(std::string key,
Floats values);
55 Floats get_my_parameter(std::string key);
57 int get_friend_index(
int istep);
59 Ints get_exchange_array();
61 Floats get_friend_parameter(std::string key,
int findex);
63 bool do_exchange(
double myscore0,
double myscore1,
int findex);
66 Floats create_temperatures(
double tmin,
double tmax,
int nrep);
A class to implement Hamiltonian Replica Exchange.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual void do_destroy()
Common base class for heavy weight IMP objects.
int get_my_index() const
Get replica index.
int get_number_of_replicas() const
Get number of replicas.
Include all non-deprecated headers in IMP.mpi.
A shared base class to help in debugging and things.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.