IMP  2.0.0
The Integrative Modeling Platform
IMP::score_functor::Score Struct Reference

#include <IMP/score_functor/Score.h>

+ Inheritance diagram for IMP::score_functor::Score:

Public Member Functions

ModelObjectsTemp get_inputs (Model *m, const ParticleIndexes &pis) const
 
template<unsigned int D>
bool get_is_trivially_zero (Model *m, const base::Array< D, ParticleIndex > &p, double squared_distance) const
 
template<unsigned int D>
double get_maximum_range (Model *m, const base::Array< D, ParticleIndex > &p) const
 
template<unsigned int D>
double get_score (Model *m, const ParticleIndexTuple< D > &p, double distance) const
 
template<unsigned int D>
DerivativePair get_score_and_derivative (Model *m, const ParticleIndexTuple< D > &p, double distance) const
 
void show (std::ostream &) const
 

Detailed Description

A functor for computing a distance based score for two particles.

Definition at line 20 of file Score.h.

Member Function Documentation

ModelObjectsTemp IMP::score_functor::Score::get_inputs ( Model m,
const ParticleIndexes pis 
) const

Return the set of particles read when particle p is part of the passed tuples. The default implementation provided here just returns the list containing p.

Definition at line 72 of file Score.h.

+ Here is the call graph for this function:

template<unsigned int D>
bool IMP::score_functor::Score::get_is_trivially_zero ( Model m,
const base::Array< D, ParticleIndex > &  p,
double  squared_distance 
) const

Return true if the function can be easily determined to be zero at the passed squared distance. The default implementation provided here returns false.

Note
That it is squared distance, not distance.

Definition at line 53 of file Score.h.

template<unsigned int D>
double IMP::score_functor::Score::get_maximum_range ( Model m,
const base::Array< D, ParticleIndex > &  p 
) const

Return an upper bound on the distance at which the score can be non-zero. The default implementation provided here returns infinity.

Definition at line 63 of file Score.h.

template<unsigned int D>
double IMP::score_functor::Score::get_score ( Model m,
const ParticleIndexTuple< D > &  p,
double  distance 
) const

Return the score at the passed feature size (eg distance). The involved particle indexes are passed along.

Precondition
get_is_trivially_zero() or get_maximum_range() has been called and get_is_trivially_zero() is false. This allows things to be cached across those calls.
template<unsigned int D>
DerivativePair IMP::score_functor::Score::get_score_and_derivative ( Model m,
const ParticleIndexTuple< D > &  p,
double  distance 
) const

Return the score and derivative at the passed feature size (eg distance). The derivative is for the feature decreasing.

Precondition
get_is_trivially_zero() or get_maximum_range() has been called and get_is_trivially_zero() is false. This allows things to be cached across those calls.

The documentation for this struct was generated from the following file: