9 #ifndef IMPISD_FRET_RESTRAINT_H
10 #define IMPISD_FRET_RESTRAINT_H
12 #include <IMP/isd/isd_config.h>
15 #include <cereal/access.hpp>
16 #include <cereal/types/vector.hpp>
18 IMPISD_BEGIN_NAMESPACE
48 std::vector<std::vector<unsigned> > states_;
50 friend class cereal::access;
52 template<
class Archive>
void serialize(Archive &ar) {
53 ar(cereal::base_class<Restraint>(
this), pd_, pa_, prd_, GMMterd_,
54 GMMctrd_, pra_, GMMtera_, GMMctra_, kda_, Ida_, R0_, sumFi_, sigma0_,
55 Pbl_, data_, fexp_, multi_d_, constr_type_, GMMsig_, GMMw_, Na_,
61 double get_sumFi(
double Pbleach)
const;
62 std::vector<unsigned> get_indices(
unsigned index,
int dimension)
const;
69 Particle *Pbl,
double fexp,
double m_d = 1.0,
87 double get_sumFi()
const;
90 double get_average_sigma(
double fmod)
const;
93 double get_standard_error()
const;
96 double get_model_fretr()
const;
99 double get_probability()
const;
102 double get_experimental_value()
const {
107 void set_experimental_value(
double fexp);
115 double get_model_fretr_type_0()
const;
116 double get_model_fretr_type_1()
const;
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
A decorator for scale parameters particles.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
A smart pointer to a ref-counted Object that is a class member.
Class to handle individual particles of a Model object.
Abstract base class for all restraints.
Auxiliary class for FRET_R restraint.
Auxiliary class useful for FRET_R restraint.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.