Rosetta  2020.37
 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]

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...
 
 ~SurfaceBackgroundEdge () override
 
void prepare_for_simulated_annealing () override
 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...
 
unsigned int count_static_memory () const override
 
unsigned int count_dynamic_memory () const override
 Returns an int representing the amount of memory in bytes used by this node. More...
 
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...
 
bool bgtfce_marked_for_deletion ()
 

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
 
void bgtfce_mark_edge_for_deletion ()
 

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)

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

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 ( )
override
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).

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

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::count_dynamic_memory ( ) const
overridevirtual

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

Remarks
return 0 because no memory is dynamically allocated for these edges.

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

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::SurfaceBackgroundEdge< V, E, G >::count_static_memory ( ) const
overridevirtual
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_.

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

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 ( )
overridevirtual

Invoked by AdditionalBackgroundNodesInteractionGraph::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.

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: