Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G > Class Template Reference

Defines an edge between a FirstClass (SurfaceNode) and a background node (SurfaceBackgroundNode) More...

#include <SurfaceInteractionGraph.hh>

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

Public Types

typedef
BackgroundToFirstClassEdge< V,
E, G
parent
 
- Public Types inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
typedef std::list
< BackgroundToFirstClassEdge
< V, E, G > * >::iterator 
BackgroundEdgeListIter
 

Public Member Functions

 SurfaceBackgroundEdge (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int first_class_node_index, int background_node_index)
 main constructor More...
 
virtual ~SurfaceBackgroundEdge ()
 
void prepare_for_simulated_annealing ()
 Invoked by AdditionalBackgroundNodesInteractionGraph::prepare_for_simulated_annealing. More...
 
Real get_surface_deltaE_for_substitution (int alt_state)
 returns the change in surface energy produced by a background node in response to a considered state substitution of the first class node More...
 
void acknowledge_substitution_surface ()
 bookkeeping in response to the SurfaceNode committing the considered substitution More...
 
void acknowledge_state_change (int new_state)
 bookkeeping in response to a SurfaceNode switching states (without having gone through the usual consider-substitution/commit-substitution pattern). More...
 
Real get_max_surface_deltaE_guess () const
 Returns the value of max_surface_deltaE_last_50_commits_. More...
 
virtual unsigned int count_static_memory () const
 
virtual unsigned int count_dynamic_memory () const
 
void set_max_surface_deltaE ()
 
SurfaceNode< V, E, G > * get_surface_node () const
 
SurfaceBackgroundNode< V, E, G > * get_surface_bg_node () const
 
- Public Member Functions inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
virtual ~BackgroundToFirstClassEdge ()
 virtual destructor. The edge removes itself from the graph by informing the two vertices its incident upon to drop it from their edge lists. Constant time edge removal. More...
 
 BackgroundToFirstClassEdge (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int fc_node_index, int bg_node_index)
 BackgroundToFirstClassEdge constructor - no default or copy constructors; no operator =. More...
 
int get_first_class_node_index () const
 
int get_background_node_index () const
 
int get_other_ind (FirstClassNode< V, E, G > *) const
 returns the index of the second class node More...
 
int get_other_ind (BackgroundNode< V, E, G > *) const
 returns the index of the first class node More...
 
FirstClassNode< V, E, G > * get_other_node (BackgroundNode< V, E, G > *) const
 returns a pointer to the first class node More...
 
BackgroundNode< V, E, G > * get_other_node (FirstClassNode< V, E, G > *) const
 returns a pointer to the second class node More...
 
void set_pos_in_owners_list (BackgroundEdgeListIter)
 stores the iterator to this edge in the owning graph's list of background-to-first-class edges. More...
 
void set_pos_in_node_edgevector (FirstClassNode< V, E, G > *caller, int pos)
 stores the index of this edge in its first class node's edge vector More...
 
void set_pos_in_node_edgevector (BackgroundNode< V, E, G > *caller, int pos)
 stores the index of this edge in its second class node's edge vector More...
 
bool same_edge (int fc_node_index, int bg_node_index) const
 returns true if this node is incident upon the two input vertex indices More...
 

Private Member Functions

void track_max_magnitude_surface_deltaE ()
 Keeps track of the maximum surface deltaE seen in the last 50 commits. Used possibly for procrastinating recalculations of the surface score. More...
 
 SurfaceBackgroundEdge ()
 
 SurfaceBackgroundEdge (SurfaceBackgroundEdge< V, E, G > const &)
 
SurfaceBackgroundEdge< V, E, G > & operator= (SurfaceBackgroundEdge< V, E, G > const &)
 

Private Attributes

int fc_node_curr_state_
 
int fc_node_alt_state_
 
Real max_surface_deltaE_last_50_commits_
 
Real max_surface_deltaE_recent_50_commits_
 
Real magnitude_last_surface_deltaE_
 
int num_surface_deltaE_observations_since_update_
 

Additional Inherited Members

- Protected Member Functions inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
FirstClassNode< V, E, G > * get_first_class_node () const
 
BackgroundNode< V, E, G > * get_background_node () const
 
AdditionalBackgroundNodesInteractionGraph
< V, E, G > * 
get_owner () const
 

Detailed Description

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

Defines an edge between a FirstClass (SurfaceNode) and a background node (SurfaceBackgroundNode)

SurfaceBackgroundEdge

Detailed:
In addition to implementing the virtual base class methods, this class additionally defines methods relating to keeping track of data relating to surface.

Member Typedef Documentation

template<typename V, typename E, typename G>
typedef BackgroundToFirstClassEdge< V, E, G > core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::parent

Constructor & Destructor Documentation

template<typename V , typename E , typename G >
core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::SurfaceBackgroundEdge ( AdditionalBackgroundNodesInteractionGraph< V, E, G > *  owner,
int  first_class_node_index,
int  background_node_index 
)

main constructor

SurfaceBackgroundEdge< V, E, G >::SurfaceBackgroundEdge

Parameters
owner- [in] - the owning graph first_class_node_index - [in] - the index of the first class node upon which this new edge is incident second_class_node_index - [in] - the index of the second class node upon which this new edge is incident
template<typename V , typename E , typename G >
core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::~SurfaceBackgroundEdge ( )
virtual
template<typename V, typename E, typename G>
core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::SurfaceBackgroundEdge ( )
private
template<typename V, typename E, typename G>
core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::SurfaceBackgroundEdge ( SurfaceBackgroundEdge< V, E, G > const &  )
private

Member Function Documentation

template<typename V , typename E , typename G >
void core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::acknowledge_state_change ( int  new_state)

bookkeeping in response to a SurfaceNode switching states (without having gone through the usual consider-substitution/commit-substitution pattern).

SurfaceBackgroundEdge::acknowledge_state_change

Parameters
new_state- [in] - the state the SurfaceNode switched to
template<typename V , typename E , typename G >
void core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::acknowledge_substitution_surface ( )

bookkeeping in response to the SurfaceNode committing the considered substitution

SurfaceBackgroundEdge::acknowledge_substitution_surface

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::count_dynamic_memory ( ) const
virtual
template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::count_static_memory ( ) const
virtual
template<typename V , typename E , typename G >
Real core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_max_surface_deltaE_guess ( ) const

Returns the value of max_surface_deltaE_last_50_commits_.

SurfaceBackgroundEdge::get_max_surface_deltaE_guess

template<typename V, typename E, typename G>
SurfaceBackgroundNode< V, E, G >* core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_surface_bg_node ( ) const
inline
template<typename V , typename E , typename G >
Real core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_surface_deltaE_for_substitution ( int  alt_state)

returns the change in surface energy produced by a background node in response to a considered state substitution of the first class node

SurfaceBackgroundEdge::get_surface_deltaE_for_substitution

Detailed:
Need to tell the bg node that's not changing that the fc node is considering a change and what the alternate state it might change to is. Then that node can recompute it's change in se hp nb total hASA and return a change in score. Called once by acknowledge_state_change method in this class when blanket setting the state of all the nodes to zero during initialization.
Parameters
alt_state- [in] - the alternate state (i.e. rotamer id) that the first class node is considering
template<typename V, typename E, typename G>
SurfaceNode< V, E, G >* core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::get_surface_node ( ) const
inline
template<typename V, typename E, typename G>
SurfaceBackgroundEdge< V, E, G >& core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::operator= ( SurfaceBackgroundEdge< V, E, G > const &  )
private
template<typename V , typename E , typename G >
void core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::prepare_for_simulated_annealing ( )
virtual

Invoked by AdditionalBackgroundNodesInteractionGraph::prepare_for_simulated_annealing.

SurfaceBackgroundEdge::prepare_for_simulated_annealing

Remarks
The SurfaceBackgroundEdge has no responsibilities in this function. However, when the AdditionalBackgroundNodesInteractionGraph invokes prepare_for_simulated_annealing on the SurfaceBackgroundNode that this edge is incident upon, that node will invoke initialize_overlap_cache on this edge

Implements core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >.

template<typename V, typename E, typename G>
void core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::set_max_surface_deltaE ( )
inline
template<typename V , typename E , typename G >
void core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::track_max_magnitude_surface_deltaE ( )
private

Keeps track of the maximum surface deltaE seen in the last 50 commits. Used possibly for procrastinating recalculations of the surface score.

SurfaceBackgroundEdge::track_max_magnitude_surface_deltaE

Member Data Documentation

template<typename V, typename E, typename G>
int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::fc_node_alt_state_
private
template<typename V, typename E, typename G>
int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::fc_node_curr_state_
private
template<typename V, typename E, typename G>
Real core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::magnitude_last_surface_deltaE_
private
template<typename V, typename E, typename G>
Real core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::max_surface_deltaE_last_50_commits_
private
template<typename V, typename E, typename G>
Real core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::max_surface_deltaE_recent_50_commits_
private
template<typename V, typename E, typename G>
int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::num_surface_deltaE_observations_since_update_
private

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