10 #ifndef IMPISD_MARGINAL_HBOND_RESTRAINT_H
11 #define IMPISD_MARGINAL_HBOND_RESTRAINT_H
14 #include <IMP/isd/isd_config.h>
18 IMPISD_BEGIN_NAMESPACE
34 std::vector<double> volumes_;
36 void set_logsquares(
double logsquares) {logsquares_=logsquares;}
44 Restraint(m,
"MarginalHBondRestraint%1%") {};
55 double get_logsquares()
const {
return logsquares_;}
57 unsigned get_number_of_contributions()
const {
return volumes_.size();}
60 double get_probability()
const
62 return exp(-unprotected_evaluate(
nullptr));
Class for adding derivatives from restraints to the model.
IMP::base::Vector< IMP::base::WeakPointer< kernel::ModelObject > > ModelObjectsTemp
A shared container for Pairs.
Import IMP/kernel/restraint_macros.h in the namespace.
IMP::base::Vector< IMP::base::Pointer< PairContainer > > PairContainers
Import IMP/kernel/PairContainer.h in the namespace.
Abstract base class for all restraints.
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class to handle individual model particles.
Apply a lognormal distance restraint between two particles.
MarginalHBondRestraint(kernel::Model *m)
Create the restraint.
Class for storing model, its restraints, constraints, and particles.