Rosetta
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::interaction_graph::NPDHBondEdge< V, E, G > Class Template Reference

Defines a NPDHBond Edge which connects two first-class NPDHBond Nodes. Edges have to keep some state so that updates to SASA and the hpatch score can be done fast. More...

#include <NPDHBondInteractionGraph.hh>

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

Public Types

typedef FirstClassEdge< V, E, Gparent
 

Public Member Functions

 NPDHBondEdge (G *owner, int node1, int node2)
 main constructor. No default, or copy constructors, no assignment operator More...
 
 ~NPDHBondEdge () override
 
void prepare_for_simulated_annealing () override
 drops zero submatrices of the AminoAcidNeighborSparseMatrix and if the two_body_energies_ member then holds nothing, More...
 
void acknowledge_state_zeroed (int node_index, Size node_seqpos)
 respond to when one of its vertices enters the "unassigned" state. More...
 
void acknowledge_substitution (bool update_hbonds)
 bookkeeping following the decision to substitute a nodes current state with the alternate it was asked to consider. More...
 
void declare_energies_final () override
 Reduces memory usage in the two body energy table after the energy calculating function declares that the energies will not change thereafter. More...
 
virtual unsigned int getMemoryUsageInBytes () const
 
unsigned int count_static_memory () const override
 
unsigned int count_dynamic_memory () const override
 
void consider_alternate_state_step1 (int node_index, int state_index, conformation::Residue const &alt_state, utility::vector1< NPDHBondOP > &res_hbonds, utility::vector1< utility::vector1< NPDHBondOP > > &atom_hbonds, utility::vector1< char > &hbonding_to_res)
 
Real consider_alternate_state_step2 (utility::vector1< char > const &hbonding_to_res)
 
- Public Member Functions inherited from core::pack::interaction_graph::FirstClassEdge< V, E, G >
 ~FirstClassEdge () override
 FirstClassEdge destructor. More...
 
 FirstClassEdge (G *owner, int first_node_ind, int second_node_ind)
 FirstClassEdge constructor. More...
 
unsigned int count_dynamic_memory () const override
 

Protected Member Functions

NPDHBondNode< V, E, G > const * get_npd_hbond_node (int index) const
 
NPDHBondNode< V, E, G > * get_npd_hbond_node (int index)
 
NPDHBondInteractionGraph< V, E, G > const * get_npd_hbond_owner () const
 
NPDHBondInteractionGraph< V, E, G > * get_npd_hbond_owner ()
 

Private Member Functions

void inform_non_changing_node_of_neighbors_change ()
 
 NPDHBondEdge ()
 
 NPDHBondEdge (NPDHBondEdge< V, E, G > const &)
 
NPDHBondEdge< V, E, G > & operator= (NPDHBondEdge< V, E, G > const &)
 

Private Attributes

int node_changing_
 
int node_not_changing_
 
int nodes_curr_states_ [2]
 
int nodes_alt_states_ [2]
 

Detailed Description

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

Defines a NPDHBond Edge which connects two first-class NPDHBond Nodes. Edges have to keep some state so that updates to SASA and the hpatch score can be done fast.

Member Typedef Documentation

◆ parent

template<typename V , typename E , typename G >
typedef FirstClassEdge< V, E, G > core::pack::interaction_graph::NPDHBondEdge< V, E, G >::parent

Constructor & Destructor Documentation

◆ NPDHBondEdge() [1/3]

template<typename V , typename E , typename G >
core::pack::interaction_graph::NPDHBondEdge< V, E, G >::NPDHBondEdge ( G owner,
int  node1,
int  node2 
)

main constructor. No default, or copy constructors, no assignment operator

Parameters
owner- [in] - the owning interaction graph object node1 - [in] - the index of the lower-indexed NPDHBondNode node2 - [in] - the index of the higher-indexed NPDHBondNode

References core::pack::interaction_graph::NPDHBondEdge< V, E, G >::nodes_alt_states_, and core::pack::interaction_graph::NPDHBondEdge< V, E, G >::nodes_curr_states_.

◆ ~NPDHBondEdge()

template<typename V , typename E , typename G >
core::pack::interaction_graph::NPDHBondEdge< V, E, G >::~NPDHBondEdge
override

◆ NPDHBondEdge() [2/3]

template<typename V , typename E , typename G >
core::pack::interaction_graph::NPDHBondEdge< V, E, G >::NPDHBondEdge ( )
private

◆ NPDHBondEdge() [3/3]

template<typename V , typename E , typename G >
core::pack::interaction_graph::NPDHBondEdge< V, E, G >::NPDHBondEdge ( NPDHBondEdge< V, E, G > const &  )
private

Member Function Documentation

◆ acknowledge_state_zeroed()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::acknowledge_state_zeroed ( int  node_that_changed,
Size  node_seqpos 
)

respond to when one of its vertices enters the "unassigned" state.

called during the NPDHBIG::blanket_assign_state_0 -> NPDHBondNode::assign_zero_state() cascade of calls.

◆ acknowledge_substitution()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::acknowledge_substitution ( bool  update_hbonds)

bookkeeping following the decision to substitute a nodes current state with the alternate it was asked to consider.

◆ consider_alternate_state_step1()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::consider_alternate_state_step1 ( int  node_index,
int  state_index,
conformation::Residue const &  alt_state,
utility::vector1< NPDHBondOP > &  res_hbonds,
utility::vector1< utility::vector1< NPDHBondOP > > &  atom_hbonds,
utility::vector1< char > &  hbonding_to_res 
)

◆ consider_alternate_state_step2()

template<typename V , typename E , typename G >
Real core::pack::interaction_graph::NPDHBondEdge< V, E, G >::consider_alternate_state_step2 ( utility::vector1< char > const &  hbonding_to_res)

◆ count_dynamic_memory()

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::count_dynamic_memory
override

◆ count_static_memory()

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::count_static_memory
override

◆ declare_energies_final()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::declare_energies_final
override

Reduces memory usage in the two body energy table after the energy calculating function declares that the energies will not change thereafter.

Remarks
(all by apl) In the PDEdge's version of this method, after invoking two_body_energies_.drop_zero_submatrices_where_possible(); the PDEdge checks if the two body energy table it now holds is empty. If the table is empty, the edge deletes itself.

◆ get_npd_hbond_node() [1/2]

template<typename V , typename E , typename G >
NPDHBondNode< V, E, G >* core::pack::interaction_graph::NPDHBondEdge< V, E, G >::get_npd_hbond_node ( int  index)
inlineprotected

◆ get_npd_hbond_node() [2/2]

template<typename V , typename E , typename G >
NPDHBondNode< V, E, G > const* core::pack::interaction_graph::NPDHBondEdge< V, E, G >::get_npd_hbond_node ( int  index) const
inlineprotected

◆ get_npd_hbond_owner() [1/2]

template<typename V , typename E , typename G >
NPDHBondInteractionGraph< V, E, G >* core::pack::interaction_graph::NPDHBondEdge< V, E, G >::get_npd_hbond_owner ( )
inlineprotected

◆ get_npd_hbond_owner() [2/2]

template<typename V , typename E , typename G >
NPDHBondInteractionGraph< V, E, G > const* core::pack::interaction_graph::NPDHBondEdge< V, E, G >::get_npd_hbond_owner ( ) const
inlineprotected

◆ getMemoryUsageInBytes()

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::getMemoryUsageInBytes
virtual
Remarks
Not implemented.

◆ inform_non_changing_node_of_neighbors_change()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::inform_non_changing_node_of_neighbors_change ( )
private

◆ operator=()

template<typename V , typename E , typename G >
NPDHBondEdge< V, E, G >& core::pack::interaction_graph::NPDHBondEdge< V, E, G >::operator= ( NPDHBondEdge< V, E, G > const &  )
private

◆ prepare_for_simulated_annealing()

template<typename V , typename E , typename G >
void core::pack::interaction_graph::NPDHBondEdge< V, E, G >::prepare_for_simulated_annealing
override

drops zero submatrices of the AminoAcidNeighborSparseMatrix and if the two_body_energies_ member then holds nothing,

Member Data Documentation

◆ node_changing_

template<typename V , typename E , typename G >
int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::node_changing_
private

◆ node_not_changing_

template<typename V , typename E , typename G >
int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::node_not_changing_
private

◆ nodes_alt_states_

template<typename V , typename E , typename G >
int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::nodes_alt_states_[2]
private

◆ nodes_curr_states_

template<typename V , typename E , typename G >
int core::pack::interaction_graph::NPDHBondEdge< V, E, G >::nodes_curr_states_[2]
private

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