8 #ifndef IMPCORE_ANGLE_TRIPLET_SCORE_H 
    9 #define IMPCORE_ANGLE_TRIPLET_SCORE_H 
   11 #include <IMP/core/core_config.h> 
   17 #include <cereal/access.hpp> 
   18 #include <cereal/types/base_class.hpp> 
   20 IMPCORE_BEGIN_NAMESPACE
 
   27   friend class cereal::access;
 
   29   template<
class Archive> 
void serialize(Archive &ar) {
 
   30     ar(cereal::base_class<TripletScore>(
this), f_);
 
Apply a function to the angle between three particles. 
 
A class to store a fixed array of same-typed values. 
 
Macros for various classes. 
 
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object. 
 
Single variable function. 
 
A more IMP-like version of the std::vector. 
 
Class for storing model, its restraints, constraints, and 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. 
 
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs. 
 
A nullptr-initialized pointer to an IMP Object. 
 
virtual double evaluate_index(Model *m, const ParticleIndexTriplet &vt, DerivativeAccumulator *da) const =0
Compute the score and the derivative if needed. 
 
Abstract class for scoring object(s) of type ParticleIndexTriplet. 
 
#define IMP_TRIPLET_SCORE_METHODS(Name)
 
Abstract single variable functor class for score functions. 
 
Class for adding derivatives from restraints to the model. 
 
Compile-time generic restraint and constraint support.