IMP logo
IMP Reference Guide  2.17.0
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-2022 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/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  override;
44 
45  virtual double get_strength(const IMP::domino::Subset &s,
46  const IMP::domino::Subsets &excluded) const
47  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_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
Particles states for a rigid body that is going to be projected.
A more IMP-like version of the std::vector.
Definition: Vector.h:40
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 Bayesian inference-based sampler.
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
Logging and error reporting support.