home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 2.20.0
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
:
21
QuadraticClosePairsFinder
();
22
//! returns true if a and b are close, and pass any filter added
23
//! to this
24
bool
get_are_close_and_filtered
(
Particle
*a,
Particle
*b)
const
{
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
;
36
virtual
IntPairs
get_close_pairs
(
const
algebra::BoundingBox3Ds
&bas,
37
const
algebra::BoundingBox3Ds
&bbs)
const
38
override
;
39
virtual
ParticleIndexPairs
get_close_pairs
(
40
Model
*m,
const
ParticleIndexes
&pc)
const override
;
41
virtual
ParticleIndexPairs
get_close_pairs
(
42
Model
*m,
const
ParticleIndexes
&pca,
43
const
ParticleIndexes
&pcb)
const override
;
44
virtual
ModelObjectsTemp
do_get_inputs
(
45
Model
*m,
const
ParticleIndexes
&pis)
const override
;
46
47
IMP_OBJECT_METHODS
(
QuadraticClosePairsFinder
);
48
};
49
50
IMPCORE_END_NAMESPACE
51
52
#endif
/* IMPCORE_QUADRATIC_CLOSE_PAIRS_FINDER_H */
IMP::core::ClosePairsFinder
A base class for algorithms to find spatial proximities.
Definition:
ClosePairsFinder.h:37
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::Index< ParticleIndexTag >
IMP::core::QuadraticClosePairsFinder::get_are_close_and_filtered
bool get_are_close_and_filtered(Particle *a, Particle *b) const
Definition:
QuadraticClosePairsFinder.h:24
IMP::Vector< IntPair >
IMP::core::ClosePairsFinder::get_close_pairs
virtual ParticleIndexPairs get_close_pairs(Model *m, const ParticleIndexes &pc) const =0
return all close pairs among pc in model m
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP::ParticleInputs::do_get_inputs
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
IMP::Particle
Class to handle individual particles of a Model object.
Definition:
Particle.h:43
ClosePairsFinder.h
A base class for algorithms to detect proximities.
IMP::Particle::get_index
ParticleIndex get_index() const
returns the particle index of this particle in its model
IMP::core::QuadraticClosePairsFinder
Find all nearby pairs by testing all pairs.
Definition:
QuadraticClosePairsFinder.h:19