IMP Reference Guide
2.6.0
The Integrative Modeling Platform
|
#include <IMP/misc/MetricClosePairsFinder.h>
A close pairs finder that only depends on metrics on the underlying particles. As a result, it should be usable with weird metrics (eg ones that include symmetry).
The LowerBound and UpperBound templates should be functors that bound the distance between two particles. For example the LowerBound distance between two balls is the center distance minus the radii, and the UpperBound distance is the center distance plus the radii. The signature should be double operator()(Model *m, const ParticleIndexPair &pip) const
The algorithm works by building an index using sqrt(n)
of the n
input particles, assigning each particle to a bucket based on the closest index particle, and then checking for close pairs in buckets such that they can be close enough.
If we need something more involved, we can try this paper
Definition at line 42 of file MetricClosePairsFinder.h.
Public Member Functions | |
MetricClosePairsFinder (LowerBound lb, UpperBound ub, std::string name="MetricClosePairsFinder%1%") | |
virtual ModelObjectsTemp | do_get_inputs (Model *m, const ParticleIndexes &pis) const |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &) const |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &, const algebra::BoundingBox3Ds &) const |
virtual ParticleIndexPairs | get_close_pairs (Model *m, const ParticleIndexes &pc) const |
virtual ParticleIndexPairs | get_close_pairs (Model *m, const ParticleIndexes &pca, const ParticleIndexes &pcb) const |
virtual std::string | get_type_name () const |
virtual ::IMP::VersionInfo | get_version_info () const |
Get information about the module and version of the object. More... | |
Public Member Functions inherited from IMP::core::ClosePairsFinder | |
ClosePairsFinder (std::string name) | |
virtual void | set_distance (double d) |
double | get_distance () const |
void | remove_pair_filter (PairPredicate *d) |
void | remove_pair_filters (const PairPredicates &d) |
void | set_pair_filters (const PairPredicates &ps) |
void | set_pair_filters_order (const PairPredicates &objs) |
unsigned int | add_pair_filter (PairPredicate *obj) |
void | add_pair_filters (const PairPredicates &objs) |
void | clear_pair_filters () |
unsigned int | get_number_of_pair_filters () const |
bool | get_has_pair_filters () |
PairPredicate * | get_pair_filter (unsigned int i) const |
PairPredicates | get_pair_filters () const |
void | reserve_pair_filters (unsigned int sz) |
Public Member Functions inherited from IMP::ParticleInputs | |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
virtual |
Overload this method to specify the inputs.
Implements IMP::ParticleInputs.
Definition at line 178 of file MetricClosePairsFinder.h.
|
virtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 151 of file MetricClosePairsFinder.h.
|
virtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 156 of file MetricClosePairsFinder.h.
|
virtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 184 of file MetricClosePairsFinder.h.