IMP logo
IMP Reference Guide  develop.0cdeb1214d,2025/11/22
The Integrative Modeling Platform
core/DistancePairScore.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/DistancePairScore.h
3  * \brief A Score on the distance between a pair of particles.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_DISTANCE_PAIR_SCORE_H
9 #define IMPCORE_DISTANCE_PAIR_SCORE_H
10 
11 #include <IMP/core/core_config.h>
16 IMPCORE_BEGIN_NAMESPACE
17 
18 //! Score a pair of particles based on the distance between their centers.
19 /** The pairwise distance is converted to a score using a provided
20  UnaryFunction.
21 
22  Note: implicitly assumes the scored particles are decorated as XYZR.
23 
24  \see XYZR
25  \see SphereDistancePairScore
26  \see DistancePairScore
27  \see SoftSpherePairScore
28 */
30  DistancePairScore, score_functor::UnaryFunctionEvaluate,
31  (UnaryFunction *uf, std::string name = "DistancePairScore%1%"), (uf), );
33 
34 #ifndef IMP_DOXYGEN
35 typedef score_functor::Shift<score_functor::Harmonic> HarmonicDistanceScore;
36 #endif
37 
38 //! Score distance between two particle centers using a harmonic function.
39 /** Score a pair of particles based on the distance between their centers,
40  using a harmonic function. This is faster than using a regular
41  DistancePairScore combined with a Harmonic UnaryFunction.
42 
43  Note: implicitly assumes the scored particles are decorated as XYZR.
44 
45  \see XYZR
46  \see SphereDistancePairScore
47  \see DistancePairScore
48  \see SoftSpherePairScore
49 
50 */
52  HarmonicDistancePairScore, HarmonicDistanceScore,
53  (double x0, double k, std::string name = "HarmonicDistancePairScore%1%"),
54  (x0, score_functor::Harmonic(k)),
55  double get_x0() const { return get_score_functor().get_x0(); }
56  double get_k() const { return get_score_functor().get_k(); });
58 
59 IMPCORE_END_NAMESPACE
60 
61 #endif /* IMPCORE_DISTANCE_PAIR_SCORE_H */
Various important macros for implementing decorators.
A Score on the distance between a pair of particles.
Score distance between two particle centers using a harmonic function.
A more IMP-like version of the std::vector.
Definition: Vector.h:50
A harmonic score on the directed distance between a pair of particles, centered at 0...
A Score on the distance between a pair of particles.
#define IMP_FUNCTOR_DISTANCE_PAIR_SCORE(Name, Functor, Args, PassArgs, Accessors)
Score a pair of particles based on the distance between their centers.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27