IMP  2.2.1
The Integrative Modeling Platform
domino_filter_tables.h
Go to the documentation of this file.
1 /**
2  * \file IMP/em2d/domino_filter_tables.h
3  * \brief Managing of projection overlap filter
4  *
5  * Copyright 2007-2014 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPEM2D_DOMINO_FILTER_TABLES_H
10 #define IMPEM2D_DOMINO_FILTER_TABLES_H
11 
13 #include "IMP/domino/Subset.h"
15 #include "IMP/base/log.h"
16 
17 IMPEM2D_BEGIN_NAMESPACE
18 
19 /*! Table to create DistanceFilters on demand
20 
21  */
22 class IMPEM2DEXPORT DistanceFilterTable : public domino::SubsetFilterTable {
23  protected:
24  domino::Subset my_subset_;
26  double max_distance_; // max distance tolerated between the particles
27 
28  public:
29  DistanceFilterTable(const domino::Subset &subset_to_act_on,
31  double max_distance)
32  : my_subset_(subset_to_act_on),
33  ps_table_(ps_table),
34  max_distance_(max_distance) {};
35 
36  void show(std::ostream &out = std::cout) const {
37  out << "DistanceFilterTable" << std::endl;
38  };
39 
42  const IMP::domino::Subsets &excluded) const
43  IMP_OVERRIDE;
44 
45  virtual double get_strength(const IMP::domino::Subset &s,
46  const IMP::domino::Subsets &excluded) const
47  IMP_OVERRIDE;
48 
50 };
52 
53 IMPEM2D_END_NAMESPACE
54 
55 #endif /* IMPEM2D_DOMINO_FILTER_TABLES_H */
virtual SubsetFilter * get_subset_filter(const Subset &s, const Subsets &prior_subsets) const =0
#define IMP_OBJECT_NO_WARNING(Name)
Only to work around a gcc bug.
A beyesian infererence-based sampler.
Represent a subset of the particles being optimized.
Definition: Subset.h:33
kernel::Particles states for a rigid body that is going to be projected
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.
A beyesian infererence-based sampler.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
void show(Hierarchy h, std::ostream &out=std::cout)
Print out a molecular hierarchy.
Logging and error reporting support.