Rosetta 3.4
Public Types | Public Member Functions | Protected Member Functions
core::pack::interaction_graph::BackgroundNode< V, E, G > Class Template Reference

A node which is not changing type or rotamer throughout a simulation. More...

#include <AdditionalBackgroundNodesInteractionGraph.hh>

Inheritance diagram for core::pack::interaction_graph::BackgroundNode< V, E, G >:
Inheritance graph
[legend]
Collaboration diagram for core::pack::interaction_graph::BackgroundNode< V, E, G >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::list
< BackgroundToFirstClassEdge
< V, E, G > * >::iterator 
BackgroundEdgeListIter
typedef std::list
< BackgroundToFirstClassEdge
< V, E, G > * > 
BackgroundEdgeList
typedef std::vector
< BackgroundToFirstClassEdge
< V, E, G > * > 
BackgroundEdgeVector
typedef std::vector
< BackgroundToFirstClassEdge
< V, E, G > * >::iterator 
BackgroundEdgeVectorIter
typedef std::vector
< FirstClassNode< V, E, G > * > 
FirstClassNodeVector

Public Member Functions

virtual ~BackgroundNode ()
 BackgroundNode destructor.
 BackgroundNode (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int node_index)
 BackgroundNode constructor - no default or copy constructors; no operator =.
BackgroundEdgeListIter add_edge (BackgroundToFirstClassEdge< V, E, G > *edge_ptr)
 Adds a BackgroundToFirstClassEdge to the edge list for this node. Returns an iterator to the new list element.
void drop_edge (BackgroundEdgeListIter edge)
 removes an edge from the nodes edge list in constant time
BackgroundToFirstClassEdge< V,
E, G > * 
find_edge (int fc_node_index)
 Linear time edge lookup function.
virtual void prepare_for_simulated_annealing ()=0
virtual void print () const =0
virtual unsigned int count_static_memory () const =0
virtual unsigned int count_dynamic_memory () const
 Returns an int representing the amount of memory in bytes used by this node.

Protected Member Functions

void update_edge_vector ()
 Syncs the edge vector with the edge list.
int get_node_index () const
int get_num_incident_edges () const
BackgroundToFirstClassEdge< V,
E, G > * 
get_incident_edge (int index) const
int get_index_of_adjacent_first_class_node (int index) const
FirstClassNode< V, E, G > * get_adjacent_first_class_node (int index) const
bool get_edge_vector_up_to_date () const
AdditionalBackgroundNodesInteractionGraph
< V, E, G > * 
get_owner () const

Detailed Description

template<typename V, typename E, typename G>
class core::pack::interaction_graph::BackgroundNode< V, E, G >

A node which is not changing type or rotamer throughout a simulation.

BackgroundNode

Detailed:
In the case of solvent-accessible surface area (SASA) scoring, a background node would be one whose SASA score can change due to neighboring residues being changed. It itself will not change residue type or rotamer during a simulation, but the scores on this residue can change.
Remarks:
Non-instantiable due to pure virtual methods, prepare_for_simulated_annealing(), print(), and count_static_memory().

Member Typedef Documentation

template<typename V, typename E, typename G>
typedef std::list< BackgroundToFirstClassEdge< V, E, G >* > core::pack::interaction_graph::BackgroundNode< V, E, G >::BackgroundEdgeList
template<typename V, typename E, typename G>
typedef std::list< BackgroundToFirstClassEdge< V, E, G >* >::iterator core::pack::interaction_graph::BackgroundNode< V, E, G >::BackgroundEdgeListIter
template<typename V, typename E, typename G>
typedef std::vector< BackgroundToFirstClassEdge< V, E, G >* > core::pack::interaction_graph::BackgroundNode< V, E, G >::BackgroundEdgeVector
template<typename V, typename E, typename G>
typedef std::vector< BackgroundToFirstClassEdge< V, E, G >* >::iterator core::pack::interaction_graph::BackgroundNode< V, E, G >::BackgroundEdgeVectorIter
template<typename V, typename E, typename G>
typedef std::vector< FirstClassNode< V, E, G >* > core::pack::interaction_graph::BackgroundNode< V, E, G >::FirstClassNodeVector

Constructor & Destructor Documentation

template<typename V , typename E , typename G >
core::pack::interaction_graph::BackgroundNode< V, E, G >::~BackgroundNode ( ) [virtual]
template<typename V , typename E , typename G >
core::pack::interaction_graph::BackgroundNode< V, E, G >::BackgroundNode ( AdditionalBackgroundNodesInteractionGraph< V, E, G > *  owner,
int  node_index 
)

BackgroundNode constructor - no default or copy constructors; no operator =.

BackgroundNode::BackgroundNode

Detailed:
I use "background node" synonymously with "second class node". This kind of node contributes to the energy of the system. It does not have any assignable states -- the energy it contributes is a function of the states of the first class vertices that surround it. A simulated annealer is unaware of the presence of this kind of node; the owning interaction graph obscures it from view of the annealer.
Parameters:
owner- [in] - the owning graph node_index - [in] - the index of the background node

Member Function Documentation

template<typename V , typename E , typename G >
std::list< BackgroundToFirstClassEdge< V, E, G > * >::iterator core::pack::interaction_graph::BackgroundNode< V, E, G >::add_edge ( BackgroundToFirstClassEdge< V, E, G > *  edge_ptr)

Adds a BackgroundToFirstClassEdge to the edge list for this node. Returns an iterator to the new list element.

BackgroundNode::add_edge

Remarks:
Invalidates edge_vector_up_to_date_ flag
Parameters:
edge_ptr- [in] - pointer to the edge being added
template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::BackgroundNode< V, E, G >::count_dynamic_memory ( ) const [virtual]

Returns an int representing the amount of memory in bytes used by this node.

BackgroundNode::count_dynamic_memory

Remarks:
ronj lists consume more memory because they maintain pointers to the previous and next nodes ronj current calculation uses 4 * # elements in list * sizeof(pointer), but I think this is wrong ronj isn't it only 3 * # elements in list * sizeof(pointer)?
Parameters:
total_memory- [out] - the amount of memory used by this node

Reimplemented in core::pack::interaction_graph::HPatchBackgroundNode< V, E, G >, and core::pack::interaction_graph::SurfaceBackgroundNode< V, E, G >.

template<typename V, typename E, typename G>
virtual unsigned int core::pack::interaction_graph::BackgroundNode< V, E, G >::count_static_memory ( ) const [pure virtual]
template<typename V , typename E , typename G >
void core::pack::interaction_graph::BackgroundNode< V, E, G >::drop_edge ( BackgroundEdgeListIter  edge)

removes an edge from the nodes edge list in constant time

BackgroundNode::drop_edge

Remarks:
Invalidates edge_vector_up_to_date_ flag
Parameters:
edge- [in] - the iterator to the edge's position in node's edge list
template<typename V , typename E , typename G >
BackgroundToFirstClassEdge< V, E, G > * core::pack::interaction_graph::BackgroundNode< V, E, G >::find_edge ( int  fc_node_index)

Linear time edge lookup function.

BackgroundNode::find_edge

Parameters:
fc_node_index- [in] - the index of the first class node that is on the other end of the sought edge
template<typename V, typename E, typename G>
FirstClassNode< V, E, G>* core::pack::interaction_graph::BackgroundNode< V, E, G >::get_adjacent_first_class_node ( int  index) const [inline, protected]
template<typename V, typename E, typename G>
bool core::pack::interaction_graph::BackgroundNode< V, E, G >::get_edge_vector_up_to_date ( ) const [inline, protected]
template<typename V, typename E, typename G>
BackgroundToFirstClassEdge< V, E, G >* core::pack::interaction_graph::BackgroundNode< V, E, G >::get_incident_edge ( int  index) const [inline, protected]
template<typename V, typename E, typename G>
int core::pack::interaction_graph::BackgroundNode< V, E, G >::get_index_of_adjacent_first_class_node ( int  index) const [inline, protected]
template<typename V, typename E, typename G>
int core::pack::interaction_graph::BackgroundNode< V, E, G >::get_node_index ( ) const [inline, protected]
template<typename V, typename E, typename G>
int core::pack::interaction_graph::BackgroundNode< V, E, G >::get_num_incident_edges ( ) const [inline, protected]
template<typename V, typename E, typename G>
AdditionalBackgroundNodesInteractionGraph< V, E, G >* core::pack::interaction_graph::BackgroundNode< V, E, G >::get_owner ( ) const [inline, protected]
template<typename V, typename E, typename G>
virtual void core::pack::interaction_graph::BackgroundNode< V, E, G >::prepare_for_simulated_annealing ( ) [pure virtual]
template<typename V, typename E, typename G>
virtual void core::pack::interaction_graph::BackgroundNode< V, E, G >::print ( ) const [pure virtual]
template<typename V , typename E , typename G >
void core::pack::interaction_graph::BackgroundNode< V, E, G >::update_edge_vector ( ) [protected]

Syncs the edge vector with the edge list.

BackgroundNode::update_edge_vector

Detailed:
Updates the vector of pointers to background edges to correspond to the list of background edges. Informs its incident edges of their position in its vector.
Remarks:
sets edge_vector_up_to_date_ flag to true

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