Rosetta
|
A lightweight version of the RotamerDots class. Used to cache overlap between interaction graph Nodes and BGNodes. More...
#include <RotamerDots.hh>
Public Member Functions | |
RotamerDotsCache () | |
RotamerDotsCache (core::Size num_atoms) | |
RotamerDotsCache (RotamerDotsCache const &rhs) | |
copy constructor More... | |
RotamerDotsCache & | operator= (RotamerDotsCache const &rhs) |
assignment operator More... | |
~RotamerDotsCache () | |
void | resize (core::Size num_atoms) |
void | zero () |
sets the dot counts to zero for all atoms More... | |
void | increment_count (utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &covered) |
increments the dot coverage counts for all atoms in the cache More... | |
void | write_to_compact_array (utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &compact) const |
void | print_bit_string (utility::vector1< ObjexxFCL::ubyte > &values) const |
void | print (std::ostream &os) const |
utility::vector1< DotSphere > const & | get_atom_counts () const |
Private Attributes | |
utility::vector1< DotSphere > | atom_counts_ |
Friends | |
class | RotamerDots |
A lightweight version of the RotamerDots class. Used to cache overlap between interaction graph Nodes and BGNodes.
During packing, when a first class node has to respond to another Node changing state, it's faster to decrement the coverage the previous state produced and increment the coverage the new state produces than to completely recalculate how the new state overlaps the node. But instead of holding that coverage information in a RotamerDots object (which does alot of other things), hold it in this cache class instead.
|
default |
core::pack::interaction_graph::RotamerDotsCache::RotamerDotsCache | ( | core::Size | num_atoms | ) |
|
default |
copy constructor
|
default |
|
inline |
References atom_counts_.
void core::pack::interaction_graph::RotamerDotsCache::increment_count | ( | utility::vector1< utility::vector1< ObjexxFCL::ubyte > > & | covered | ) |
increments the dot coverage counts for all atoms in the cache
covered | - [in] - compact ubyte array of dots; '1' for any covered dot for the vdw + 1.4 A sphere |
References core::pack::interaction_graph::RotamerDots::atom_counts_.
Referenced by core::pack::interaction_graph::RotamerDots::get_overlap_cache().
|
default |
assignment operator
void core::pack::interaction_graph::RotamerDotsCache::print | ( | std::ostream & | os | ) | const |
void core::pack::interaction_graph::RotamerDotsCache::print_bit_string | ( | utility::vector1< ObjexxFCL::ubyte > & | values | ) | const |
void core::pack::interaction_graph::RotamerDotsCache::resize | ( | core::Size | num_atoms | ) |
void core::pack::interaction_graph::RotamerDotsCache::write_to_compact_array | ( | utility::vector1< utility::vector1< ObjexxFCL::ubyte > > & | compact | ) | const |
Called by BGEdges with a reference to a vector1 of vector1 of ubytes representing where to put the compact (count) based representation of all the atom overlap masks.
Note: This method only writes the standard SASA dot counts to the passed in array. No version of this function exists for expanded polar atom SASA dot counts.
References core::pack::interaction_graph::RotamerDots::atom_counts_.
void core::pack::interaction_graph::RotamerDotsCache::zero | ( | ) |
sets the dot counts to zero for all atoms
if the cache already knows the atom's counts are uniformly 0, it skips it
References core::pack::interaction_graph::RotamerDots::atom_counts_.
Referenced by core::pack::interaction_graph::RotamerDots::get_overlap_cache(), and core::pack::interaction_graph::RotamerDots::increment_both().
|
friend |
|
private |