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

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


class RotamerDots

Detailed Description

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.

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


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


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.

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

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