IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
QuadraticClosePairsFinder.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/QuadraticClosePairsFinder.h
3  * \brief Test all pairs of particles to find close pairs.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H
9 #define IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H
10 
11 #include "ClosePairsFinder.h"
12 #include <IMP/core/core_config.h>
13 
14 IMPCORE_BEGIN_NAMESPACE
15 
16 //! Find all nearby pairs by testing all pairs
17 /** \see ClosePairsScoreState
18  */
19 class IMPCOREEXPORT QuadraticClosePairsFinder : public ClosePairsFinder {
20  public:
22  //! returns true if a and b are close, and pass any filter added
23  //! to this
25  return get_are_close_and_filtered
26  (a->get_model(),
27  a->get_index(),
28  b->get_index());
29  }
30  //! returns true if a and b of m are close, and pass any filter added
31  //! to this
32  bool get_are_close_and_filtered(Model *m, ParticleIndex a,
33  ParticleIndex b) const;
34  virtual IntPairs get_close_pairs(const algebra::BoundingBox3Ds &bbs) const
35  override;
37  const algebra::BoundingBox3Ds &bbs) const
38  override;
40  Model *m, const ParticleIndexes &pc) const override;
42  Model *m, const ParticleIndexes &pca,
43  const ParticleIndexes &pcb) const override;
45  Model *m, const ParticleIndexes &pis) const override;
46 
48 };
49 
50 IMPCORE_END_NAMESPACE
51 
52 #endif /* IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H */
A base class for algorithms to find spatial proximities.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
bool get_are_close_and_filtered(Particle *a, Particle *b) const
virtual ParticleIndexPairs get_close_pairs(Model *m, const ParticleIndexes &pc) const =0
return all close pairs among pc in model m
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Class to handle individual particles of a Model object.
Definition: Particle.h:43
A base class for algorithms to detect proximities.
ParticleIndex get_index() const
returns the particle index of this particle in its model
Find all nearby pairs by testing all pairs.