10 #ifndef IMPISD_ATOMIC_CROSS_LINK_MSRESTRAINT_H
11 #define IMPISD_ATOMIC_CROSS_LINK_MSRESTRAINT_H
12 #include <IMP/isd/isd_config.h>
18 IMPISD_BEGIN_NAMESPACE
36 bool part_of_log_score=
false,
37 std::string name =
"AtomicCrossLinkMSRestraint%1%");
68 void show(std::ostream &out)
const { out <<
"Atomic XL restraint with "
69 <<get_number_of_contributions()
71 void set_slope(
Float slope) { slope_=slope; }
72 void set_part_of_log_score(
bool hey) { part_of_log_score_=hey; }
79 bool part_of_log_score_;
84 friend class cereal::access;
86 template<
class Archive>
void serialize(Archive &ar) {
87 ar(cereal::base_class<Restraint>(
this), xlen_, psi_, slope_,
88 part_of_log_score_, ppis_, sigmass_, default_range_);
Store a list of ParticleIndexes.
#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.
Restrain atom pairs based on a set of crosslinks.
Macros to define containers of objects.
ParticleIndexPair get_contribution(int i) const
Get the particles in a contribution.
Class for storing model, its restraints, constraints, and particles.
ParticleIndex get_psi() const
Get the psi nuisance in a contribution.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
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...)
Abstract base class for all restraints.
ParticleIndexPair get_contribution_sigmas(int i) const
Get the sigma nuisances in a contribution.
unsigned int get_number_of_contributions() const
Get number of contributions added to the 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.