IMP  2.3.1
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-2014 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 kernel::Particles ps_;
29  const domino::Subsets &prior_subsets) const;
30 
31  public:
32  ExampleSubsetFilterTable(unsigned int max_diff,
33  const kernel::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 */
ParticleIndexes get_indexes(const ParticlesTemp &ps)
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.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.