10 #ifndef IMPISD_CROSS_LINK_MSRESTRAINT_H
11 #define IMPISD_CROSS_LINK_MSRESTRAINT_H
12 #include <IMP/isd/isd_config.h>
17 IMPISD_BEGIN_NAMESPACE
34 double sphere_cap(
float r1,
float r2,
float d)
const;
39 bool get_log_prob =
false,
40 std::string name =
"CrossLinkMSRestraint%1%");
44 bool get_log_prob =
false,
45 std::string name =
"CrossLinkMSRestraint%1%");
48 bool get_log_prob =
false,
49 std::string name =
"CrossLinkMSRestraint%1%");
55 sigmass_.push_back(sigmas);
59 double get_probability()
const;
66 return isd::Scale(get_model(), lengthi_).get_scale();
72 double get_slope()
const {
return slope_; }
89 unsigned int get_number_of_contributions()
const {
return ppis_.size(); }
A restraint for ambiguous cross-linking MS data and multiple state approach.
Functions and adaptors for dealing with particle indexes.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Take Decorator, Particle or ParticleIndex.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
A decorator for scale parameters particles.
Add scale parameter to particle.
ParticleIndexPair get_contribution_particle_indexes(int i) const
Get the particle indexes from a contribution.
Class for storing model, its restraints, constraints, and particles.
ParticleIndexPair get_contribution_sigma_indexes(int i) const
Get the sigma particle indexes from a contribution.
double get_length() const
Get the length of this restraint.
Abstract base class for all restraints.
ParticleIndex get_contribution_psi_index(int i) const
Get the psi particle index from a contribution.
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.