10 #ifndef IMPISD_ATOMIC_CROSS_LINK_MSRESTRAINT_H
11 #define IMPISD_ATOMIC_CROSS_LINK_MSRESTRAINT_H
12 #include "isd_config.h"
18 IMPISD_BEGIN_NAMESPACE
34 bool i_am_part_of_log_score=
false,
35 std::string name =
"AtomicCrossLinkMSRestraint%1%");
44 void add_contribution(
const ParticleIndexPair& ppi,
45 const ParticleIndexPair& sigmas,
53 Floats get_contribution_scores(
int index)
const;
67 virtual double unprotected_evaluate(
70 void show(std::ostream &out)
const { out <<
"Atomic XL restraint with "
71 <<get_number_of_contributions()
73 void set_slope(
Float slope) { slope_=slope; }
74 void set_part_of_log_score(
bool hey) { i_am_part_of_log_score_=hey; }
80 bool i_am_part_of_log_score_;
Class for adding derivatives from restraints to the model.
IMP::base::Vector< IMP::base::WeakPointer< kernel::ModelObject > > ModelObjectsTemp
Store a list of kernel::ParticlesTemp.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Restrain atom pairs based on a set of crosslinks.
Import IMP/kernel/container_macros.h in the namespace.
ParticleIndexPair get_contribution(int i) const
Get the particles in a contribution.
ParticleIndex get_contribution_psi(int i) const
Get the psi nuisance in a contribution.
Import IMP/kernel/PairContainer.h in the namespace.
Abstract base class for all restraints.
A restraint is a term in an IMP ScoringFunction.
void show(Hierarchy h, std::ostream &out=std::cout)
Print out a molecular hierarchy.
virtual ModelObjectsTemp do_get_inputs() const =0
double Float
Basic floating-point value (could be float, double...)
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.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.