Rosetta Core  2014.35
Public Member Functions | Private Attributes | Friends | List of all members
core::pack::interaction_graph::RotamerDotsCache Class Reference

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 const & 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< DotSphereatom_counts_
 

Friends

class RotamerDots
 

Detailed Description

A lightweight version of the RotamerDots class. Used to cache overlap between interaction graph Nodes and BGNodes.

RotamerDotsCache

Detailed:
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.

Constructor & Destructor Documentation

core::pack::interaction_graph::RotamerDotsCache::RotamerDotsCache ( )
core::pack::interaction_graph::RotamerDotsCache::RotamerDotsCache ( core::Size  num_atoms)
core::pack::interaction_graph::RotamerDotsCache::RotamerDotsCache ( RotamerDotsCache const &  rhs)
core::pack::interaction_graph::RotamerDotsCache::~RotamerDotsCache ( )

Member Function Documentation

utility::vector1< DotSphere > const& core::pack::interaction_graph::RotamerDotsCache::get_atom_counts ( ) const
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

RotamerDotsCache::increment_count

Parameters
covered- [in] - compact ubyte array of dots; '1' for any covered dot for the vdw + 1.4 A sphere

References atom_counts_.

Referenced by core::pack::interaction_graph::RotamerDots::get_overlap_cache().

RotamerDotsCache const & core::pack::interaction_graph::RotamerDotsCache::operator= ( RotamerDotsCache const &  rhs)

assignment operator

RotamerDotsCache::operator=

References atom_counts_.

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

RotamerDotsCache::write_to_compact_array

Detailed:
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 atom_counts_.

void core::pack::interaction_graph::RotamerDotsCache::zero ( )

sets the dot counts to zero for all atoms

RotamerDotsCache::zero

Detailed:
if the cache already knows the atom's counts are uniformly 0, it skips it

References atom_counts_.

Referenced by core::pack::interaction_graph::RotamerDots::get_overlap_cache(), and core::pack::interaction_graph::RotamerDots::increment_both().

Friends And Related Function Documentation

friend class RotamerDots
friend

Member Data Documentation

utility::vector1< DotSphere > core::pack::interaction_graph::RotamerDotsCache::atom_counts_
private

The documentation for this class was generated from the following files: