|
Rosetta 3.5
|
This object hashes hits into 6D voxels. This hash can then be traversed to retrieve the hits that hash to the same voxel (matches!). There are 64 hashes representing the 2^6 ways to perturb the bins in 6D by 1/2 of their bin width. More...
#include <MatchSet.hh>


Public Types | |
| typedef core::Real | Real |
| typedef core::Size | Size |
| typedef core::Vector | Vector |
| typedef numeric::geometry::BoundingBox < Vector > | BoundingBox |
| typedef numeric::geometry::hashing::Real3 | Real3 |
| typedef utility::vector1 < std::list< Hit const * > > | MatchSet |
| typedef boost::unordered_map < boost::uint64_t, MatchSet, numeric::geometry::hashing::bin_index_hasher > | HitHash |
Public Member Functions | |
| HitHasher () | |
| virtual | ~HitHasher () |
| void | set_bounding_box (BoundingBox const &bb) |
| void | set_uniform_xyz_bin_width (Real bin_width) |
| void | set_uniform_euler_angle_bin_width (Real bin_width_degrees) |
| void | set_xyz_bin_widths (Vector const &bin_widths) |
| void | set_euler_bin_widths (Vector const &euler_bin_widths) |
| void | set_nhits_per_match (Size num_geometric_constraints) |
| void | initialize () |
| void | insert_hit (Size geometric_constraint_id, Hit const *hit) |
| Insert a hits into all 64 hash maps. More... | |
| void | insert_hit (Size which_hash_map, Size geometric_constraint_id, Hit const *hit) |
| Insert a hits into a particular hash maps. More... | |
| void | clear_hash_map (Size which_hash_map) |
| HitHash::const_iterator | hit_hash_begin (Size which_hash_map) const |
| HitHash::const_iterator | hit_hash_end (Size which_hash_map) const |
| numeric::geometry::hashing::SixDCoordinateBinner const & | binner (Size which_hash_map) const |
Private Attributes | |
| BoundingBox | bb_ |
| bool | initialized_ |
| utility::fixedsizearray1< Real, 3 > | xyz_bin_widths_ |
| utility::fixedsizearray1< Real, 3 > | euler_bin_widths_ |
| Size | n_geometric_constraints_per_match_ |
| utility::vector1< std::pair < numeric::geometry::hashing::SixDCoordinateBinnerOP, HitHash > > | hit_hashes_ |
Static Private Attributes | |
| static Size const | N_HASH_MAPS = 64 |
This object hashes hits into 6D voxels. This hash can then be traversed to retrieve the hits that hash to the same voxel (matches!). There are 64 hashes representing the 2^6 ways to perturb the bins in 6D by 1/2 of their bin width.
The hit hasher expects someone else to own the hits. It takes as input constant pointers to the hits that exist and uses their addresses to hash upon. The hit hasher should only be used if you can guarantee that the hits it points to will outlive the hasher.
Definition at line 57 of file MatchSet.hh.
| typedef numeric::geometry::BoundingBox< Vector > protocols::match::HitHasher::BoundingBox |
Definition at line 62 of file MatchSet.hh.
| typedef boost::unordered_map< boost::uint64_t, MatchSet, numeric::geometry::hashing::bin_index_hasher > protocols::match::HitHasher::HitHash |
Definition at line 65 of file MatchSet.hh.
| typedef utility::vector1< std::list< Hit const * > > protocols::match::HitHasher::MatchSet |
Definition at line 64 of file MatchSet.hh.
Definition at line 59 of file MatchSet.hh.
| typedef numeric::geometry::hashing::Real3 protocols::match::HitHasher::Real3 |
Definition at line 63 of file MatchSet.hh.
Definition at line 60 of file MatchSet.hh.
Definition at line 61 of file MatchSet.hh.
| protocols::match::HitHasher::HitHasher | ( | ) |
Definition at line 45 of file MatchSet.cc.
|
virtual |
Definition at line 46 of file MatchSet.cc.
|
inline |
Definition at line 112 of file MatchSet.hh.
References hit_hashes_.
Referenced by protocols::match::Matcher::process_matches_all_hit_combos_for_hit_subsets().
| void protocols::match::HitHasher::clear_hash_map | ( | Size | which_hash_map) |
Definition at line 226 of file MatchSet.cc.
References hit_hashes_.
Referenced by protocols::match::Matcher::process_matches_all_hit_combos_for_hit_subsets(), and protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location().
| HitHasher::HitHash::const_iterator protocols::match::HitHasher::hit_hash_begin | ( | Size | which_hash_map) | const |
Definition at line 232 of file MatchSet.cc.
References hit_hashes_.
Referenced by protocols::match::Matcher::process_matches_all_hit_combos_for_hit_subsets(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| HitHasher::HitHash::const_iterator protocols::match::HitHasher::hit_hash_end | ( | Size | which_hash_map) | const |
Definition at line 238 of file MatchSet.cc.
References hit_hashes_.
Referenced by protocols::match::Matcher::process_matches_all_hit_combos_for_hit_subsets(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| void protocols::match::HitHasher::initialize | ( | ) |
Definition at line 102 of file MatchSet.cc.
References bb_, euler_bin_widths_, hit_hashes_, initialized_, N_HASH_MAPS, and xyz_bin_widths_.
Referenced by protocols::match::Matcher::process_matches_main_loop_enumerating_all_hit_combos(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
Insert a hits into all 64 hash maps.
Definition at line 153 of file MatchSet.cc.
References bb_, hit_hashes_, initialized_, n_geometric_constraints_per_match_, N_HASH_MAPS, and protocols::match::Hit::second().
Referenced by protocols::match::Matcher::process_matches_all_hit_combos_for_hit_subsets(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| void protocols::match::HitHasher::insert_hit | ( | Size | which_hash_map, |
| Size | geometric_constraint_id, | ||
| Hit const * | hit | ||
| ) |
Insert a hits into a particular hash maps.
Definition at line 189 of file MatchSet.cc.
References bb_, hit_hashes_, initialized_, n_geometric_constraints_per_match_, and protocols::match::Hit::second().
| void protocols::match::HitHasher::set_bounding_box | ( | BoundingBox const & | bb) |
Definition at line 49 of file MatchSet.cc.
References bb_, and initialized_.
Referenced by protocols::match::Matcher::process_matches_main_loop_enumerating_all_hit_combos(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| void protocols::match::HitHasher::set_euler_bin_widths | ( | Vector const & | euler_bin_widths) |
Definition at line 85 of file MatchSet.cc.
References euler_bin_widths_, and initialized_.
Referenced by protocols::match::Matcher::process_matches_main_loop_enumerating_all_hit_combos(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| void protocols::match::HitHasher::set_nhits_per_match | ( | Size | num_geometric_constraints) |
Definition at line 95 of file MatchSet.cc.
References initialized_, and n_geometric_constraints_per_match_.
Referenced by protocols::match::Matcher::process_matches_main_loop_enumerating_all_hit_combos(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
| void protocols::match::HitHasher::set_uniform_euler_angle_bin_width | ( | Real | bin_width_degrees) |
Definition at line 66 of file MatchSet.cc.
References euler_bin_widths_, and initialized_.
| void protocols::match::HitHasher::set_uniform_xyz_bin_width | ( | Real | bin_width) |
Definition at line 58 of file MatchSet.cc.
References initialized_, and xyz_bin_widths_.
| void protocols::match::HitHasher::set_xyz_bin_widths | ( | Vector const & | bin_widths) |
Definition at line 74 of file MatchSet.cc.
References initialized_, and xyz_bin_widths_.
Referenced by protocols::match::Matcher::process_matches_main_loop_enumerating_all_hit_combos(), protocols::match::Matcher::process_matches_where_one_geomcst_defines_downstream_location(), and protocols::match::Matcher::subsample_hits().
|
private |
Definition at line 119 of file MatchSet.hh.
Referenced by initialize(), insert_hit(), and set_bounding_box().
|
private |
Definition at line 124 of file MatchSet.hh.
Referenced by initialize(), set_euler_bin_widths(), and set_uniform_euler_angle_bin_width().
|
private |
Definition at line 127 of file MatchSet.hh.
Referenced by binner(), clear_hash_map(), hit_hash_begin(), hit_hash_end(), initialize(), and insert_hit().
|
private |
Definition at line 121 of file MatchSet.hh.
Referenced by initialize(), insert_hit(), set_bounding_box(), set_euler_bin_widths(), set_nhits_per_match(), set_uniform_euler_angle_bin_width(), set_uniform_xyz_bin_width(), and set_xyz_bin_widths().
|
private |
Definition at line 125 of file MatchSet.hh.
Referenced by insert_hit(), and set_nhits_per_match().
|
staticprivate |
Definition at line 117 of file MatchSet.hh.
Referenced by initialize(), and insert_hit().
|
private |
Definition at line 123 of file MatchSet.hh.
Referenced by initialize(), set_uniform_xyz_bin_width(), and set_xyz_bin_widths().
1.8.4