9 #ifndef IMPISD_GAUSSIAN_EM_RESTRAINT_H
10 #define IMPISD_GAUSSIAN_EM_RESTRAINT_H
12 #include "isd_config.h"
23 #include <IMP/algebra/eigen3/Eigen/Dense>
24 #include <boost/unordered_map.hpp>
26 IMPISD_BEGIN_NAMESPACE
63 Float model_cutoff_dist,
Float density_cutoff_dist,
65 bool update_model=
true,
bool backbone_slope=
false,
67 std::string name=
"GaussianEMRestraint%1%");
71 return exp(-unprotected_evaluate(NULL));
80 return cross_correlation_;
87 void compute_initial_scores();
97 void show(std::ostream &out)
const { out <<
"GEM restraint"; }
105 bool update_model_,local_;
107 Float normalization_;
109 Float self_mm_score_;
119 mutable double cross_correlation_;
Declare an efficient stl-compatible map.
Decorator to hold Gaussian3D.
A decorator for particles with mass.
Store a list of ParticleIndexes.
Return all pairs from a SingletonContainer.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Float get_slope()
Get restraint slope.
void set_slope(Float s)
Set restraint slope.
Macros to define containers of objects.
Class for storing model, its restraints, constraints, and particles.
double get_probability() const
Returns exp(score)
double get_cross_correlation_coefficient() const
Get cross correlation between the model and the map.
Restraint between two Gaussian Mixture Models, "model" and "density".
Return all pairs from a SingletonContainer.
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
double Float
Basic floating-point value (could be float, double...)
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.