home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 20241221.develop.63b38c487d
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