IMP logo

IMP::core::ClosePairsFinder Class Reference


Detailed Description

A base class for algorithms to find spatial proximities.

In general, the algorithm should make sure it returns all pairs of appropriate objects which are within the distance of one another (including their radius). They are free to return more if it is conventient, but this is not recommended as the list can easily become very large.

See also:
ClosePairsScoreState

CloseBipartitlePairsScoreState

Inheritance diagram for IMP::core::ClosePairsFinder:

Inheritance graph
[legend]

Public Member Functions

 ClosePairsFinder (std::string name)
virtual
internal::MovedSingletonContainer * 
get_moved_singleton_container (SingletonContainer *in, Model *m, double threshold) const
 Return a container which lists all particles which moved more than threshold.
Methods to find close pairs
The methods add apprioriately close pairs of particles from the input list (or lists, for the bipartite version) to the out list.

virtual ParticlePairsTemp get_close_pairs (SingletonContainer *pca, SingletonContainer *pcb) const =0
virtual ParticlePairsTemp get_close_pairs (SingletonContainer *pc) const =0
The distance threshold
All pairs within this distance threshold are added to the output list.

double get_distance () const
virtual void set_distance (double d)
Used particles
Return all the particles touched in processing the passed ones.

virtual ContainersTemp get_input_containers (SingletonContainer *a, SingletonContainer *b) const =0
virtual ContainersTemp get_input_containers (SingletonContainer *pc) const =0
virtual ParticlesTemp get_input_particles (SingletonContainer *a, SingletonContainer *b) const =0
virtual ParticlesTemp get_input_particles (SingletonContainer *pc) const =0

Protected Member Functions

Float get_radius (Particle *p) const
 Get the radius if get_radius_key() is non-default, otherwise 0.

The documentation for this class was generated from the following files:

Generated on Mon Mar 8 23:08:55 2010 for IMP by doxygen 1.5.8