Rosetta 3.4
Public Member Functions | Friends
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>

Collaboration diagram for core::pack::interaction_graph::RotamerDotsCache:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RotamerDotsCache ()
 RotamerDotsCache (core::Size num_atoms)
 RotamerDotsCache (RotamerDotsCache const &rhs)
 copy constructor
RotamerDotsCache const & operator= (RotamerDotsCache const &rhs)
 assignment operator
 ~RotamerDotsCache ()
void resize (core::Size num_atoms)
void zero ()
 sets the dot counts to zero for all atoms
void increment_count (utility::vector1< utility::vector1< ObjexxFCL::ubyte > > &covered)
 increments the dot coverage counts for all atoms in the cache
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

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]
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
RotamerDotsCache const & core::pack::interaction_graph::RotamerDotsCache::operator= ( RotamerDotsCache const &  rhs)

assignment operator

RotamerDotsCache::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

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.

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

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


Friends And Related Function Documentation

friend class RotamerDots [friend]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines