IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
AttributeDistancePairScore.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/AttributeDistancePairScore.h
3  * \brief A score based on the unmodified value of an attribute.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPSPB_ATTRIBUTE_DISTANCE_PAIR_SCORE_H
9 #define IMPSPB_ATTRIBUTE_DISTANCE_PAIR_SCORE_H
10 
11 #include <IMP/PairScore.h>
12 #include <IMP/Pointer.h>
13 #include <IMP/UnaryFunction.h>
14 #include <IMP/pair_macros.h>
15 #include <IMP/spb/spb_config.h>
16 
17 IMPSPB_BEGIN_NAMESPACE
18 
19 //! Apply a function to an attribute.
20 /** This Score scores a particle by passing an attribute value directly
21  to a UnaryFunction.
22  */
23 class IMPSPBEXPORT AttributeDistancePairScore : public PairScore {
24  // IMP::OwnerPointer<UnaryFunction> f_; //replaced deprecated version
26  FloatKey k_;
27 
28  public:
29  //! Apply function f to attribute k
31 
32  virtual double evaluate_index(IMP::Model *m, const IMP::ParticleIndexPair &p,
33  DerivativeAccumulator *da) const override;
34 
36  IMP::Model *m, const IMP::ParticleIndexes &pis) const override;
37 
38  // void show(std::ostream &out) const ;
39 
43 
44  /** deprecated code
45  IMP_SIMPLE_PAIR_SCORE(AttributeDistancePairScore);
46  */
47 };
48 
50 
51 IMPSPB_END_NAMESPACE
52 
53 #endif /* IMPSPB_ATTRIBUTE_DISTANCE_PAIR_SCORE_H */
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
Macros for various classes.
#define IMP_PAIR_SCORE_METHODS(Name)
Definition: pair_macros.h:25
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Single variable function.
#define IMP_SHOWABLE(Name)
A more IMP-like version of the std::vector.
Definition: Vector.h:42
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Apply a function to an attribute.
Define PairScore.
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:143
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
A nullptr-initialized pointer to an IMP Object.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
virtual double evaluate_index(Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da) const =0
Compute the score and the derivative if needed.
Class for adding derivatives from restraints to the model.