IMP Reference Guide
develop.d97d4ead1f,2024/11/21
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 44 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 override |
Overload this method to specify the inputs. More... | |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &) const override |
virtual IntPairs | get_close_pairs (const algebra::BoundingBox3Ds &, const algebra::BoundingBox3Ds &) const override |
virtual ParticleIndexPairs | get_close_pairs (Model *m, const ParticleIndexes &pc) const override |
return all close pairs among pc in model m More... | |
virtual ParticleIndexPairs | get_close_pairs (Model *m, const ParticleIndexes &pca, const ParticleIndexes &pcb) const override |
return all close pairs among pc in model m More... | |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
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 | erase_pair_filter (unsigned int i) |
void | reserve_pair_filters (unsigned int sz) |
Public Member Functions inherited from IMP::ParticleInputs | |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
Get the ModelObjects read when the given list of particles is used. More... | |
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 | |
Public Attributes inherited from IMP::core::ClosePairsFinder | |
list | pair_filters |
A Python list of PairFilters More... | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
overridevirtual |
Overload this method to specify the inputs.
Implements IMP::ParticleInputs.
Definition at line 186 of file MetricClosePairsFinder.h.
|
overridevirtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 159 of file MetricClosePairsFinder.h.
|
overridevirtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 164 of file MetricClosePairsFinder.h.
|
overridevirtual |
return all close pairs among pc in model m
Implements IMP::core::ClosePairsFinder.
Definition at line 170 of file MetricClosePairsFinder.h.
|
overridevirtual |
return all close pairs among pc in model m
Implements IMP::core::ClosePairsFinder.
Definition at line 177 of file MetricClosePairsFinder.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 192 of file MetricClosePairsFinder.h.