IMP logo
IMP Reference Guide  2.13.0
The Integrative Modeling Platform
ExampleSubsetFilterTable.h
Go to the documentation of this file.
1 /**
2  * \file IMP/example/ExampleSubsetFilterTable.h
3  * \brief A Score on the distance between a pair of particles.
4  *
5  * Copyright 2007-2020 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPEXAMPLE_EXAMPLE_SUBSET_FILTER_TABLE_H
9 #define IMPEXAMPLE_EXAMPLE_SUBSET_FILTER_TABLE_H
10 
11 #include <IMP/example/example_config.h>
14 
15 IMPEXAMPLE_BEGIN_NAMESPACE
16 
17 /** Filter a set of particles based on the maximum difference
18  in state indexes between them (a completely silly criteria).
19  The thing to note is how the filter table determines when
20  it should be applied and how it sets up the filters.
21  \include ExampleSubsetFilterTable.h
22  \include ExampleSubsetFilterTable.cpp
23 */
24 class IMPEXAMPLEEXPORT ExampleSubsetFilterTable
25  : public domino::SubsetFilterTable {
26  int max_diff_;
27  const Particles ps_;
29  const domino::Subsets &prior_subsets) const;
30 
31  public:
32  ExampleSubsetFilterTable(unsigned int max_diff,
33  const ParticlesTemp &pt);
34 
36  const IMP::domino::Subset &s, const IMP::domino::Subsets &excluded) const
38  virtual double get_strength(const IMP::domino::Subset &s,
39  const IMP::domino::Subsets &excluded) const
42 };
43 
44 IMPEXAMPLE_END_NAMESPACE
45 
46 #endif /* IMPEXAMPLE_EXAMPLE_SUBSET_FILTER_TABLE_H */
virtual SubsetFilter * get_subset_filter(const Subset &s, const Subsets &prior_subsets) const =0
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
A Bayesian inference-based sampler.
Represent a subset of the particles being optimized.
Definition: Subset.h:33
Various important macros for implementing decorators.
virtual double get_strength(const Subset &s, const Subsets &prior_subsets) const =0
The strength is a rough metric of how this filter restricts the subset.
ParticleIndexes get_indexes(const ParticlesTemp &ps)
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.