IMP
2.4.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()(kernel::Model *m, const kernel::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 kernel::ModelObjectsTemp | do_get_inputs (kernel::Model *m, const kernel::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 kernel::ParticleIndexPairs | get_close_pairs (kernel::Model *m, const kernel::ParticleIndexes &pc) const |
virtual kernel::ParticleIndexPairs | get_close_pairs (kernel::Model *m, const kernel::ParticleIndexes &pca, const kernel::ParticleIndexes &pcb) const |
virtual std::string | get_type_name () const |
virtual ::IMP::base::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) | |
kernel::ParticlePairsTemp | get_close_pairs (const kernel::ParticlesTemp &pc) const |
kernel::ParticlePairsTemp | get_close_pairs (const kernel::ParticlesTemp &pca, const kernel::ParticlesTemp &pcb) const |
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::kernel::ParticleInputs | |
virtual ContainersTemp | get_input_containers (Particle *p) const |
virtual ParticlesTemp | get_input_particles (Particle *p) const |
ModelObjectsTemp | get_inputs (kernel::Model *m, const ParticleIndexes &pis) const |
Public Member Functions inherited from IMP::base::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::base::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.
Reimplemented from IMP::kernel::ParticleInputs.
Definition at line 186 of file MetricClosePairsFinder.h.
|
virtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 159 of file MetricClosePairsFinder.h.
|
virtual |
Not supported.
Implements IMP::core::ClosePairsFinder.
Definition at line 164 of file MetricClosePairsFinder.h.
|
virtual |
Get information about the module and version of the object.
Reimplemented from IMP::base::Object.
Definition at line 192 of file MetricClosePairsFinder.h.