![]() |
Rosetta Core
2014.35
|
#include <InteractionGraphBase.hh>
Public Member Functions | |
virtual | ~EdgeBase () |
copy constructor, do not use More... | |
EdgeBase (InteractionGraphBase *owner, int first_node_ind, int second_node_ind) | |
main constructor for edge, no default nor copy constructors More... | |
int | get_other_ind (int callers_index) const |
returns the index of the other node that the edge is incident upon More... | |
NodeBase * | get_other_node (int callers_index) const |
returns a pointer to the other node that the edge is incident upon More... | |
int | get_first_node_ind () const |
returns the index of the smaller-indexed node More... | |
int | get_second_node_ind () const |
returns the index of the larger-indexed node More... | |
void | set_pos_in_owners_list (std::list< EdgeBase * >::iterator edge_iterator) |
edge keeps iterator to its position in it's owner's edge list More... | |
void | set_pos_in_node_edgevector (int callers_index, int position) |
edge keeps index it has in node_ind's edge vector More... | |
bool | same_edge (int node1, int node2) const |
returns true if this edge connects nodes of index node1 and node2 the order of node1 and node2 is not important More... | |
virtual void | declare_energies_final ()=0 |
virtual void | prepare_for_simulated_annealing ()=0 |
virtual unsigned int | count_static_memory () const =0 |
virtual unsigned int | count_dynamic_memory () const |
Real | edge_weight () const |
virtual void | set_edge_weight (Real weight)=0 |
InteractionGraphBase const * | get_owner () const |
InteractionGraphBase * | get_owner () |
Protected Member Functions | |
int | get_node_index (int index) const |
int | get_num_states_for_node (int index) const |
NodeBase const * | get_node (int index) const |
NodeBase * | get_node (int index) |
int | get_edges_position_in_nodes_edge_vector (int index) const |
int | which_node (int node_index) const |
is a node the first or second node this edge is incident upon? More... | |
void | edge_weight (Real) |
protected setter of the edge weight. To be called by derived classes after they have completed the conversion from the previous edge weighting to the new edge weighting. More... | |
Private Member Functions | |
EdgeBase () | |
EdgeBase (EdgeBase const &) | |
EdgeBase & | operator= (EdgeBase &) |
Private Attributes | |
int | node_indices_ [2] |
int | num_node_states_ [2] |
NodeBase * | nodes_ [2] |
int | pos_in_nodes_edge_vector_ [2] |
std::list< EdgeBase * >::iterator | pos_in_nodes_edge_list_ [2] |
std::list< EdgeBase * >::iterator | pos_in_owners_edge_list_ |
InteractionGraphBase * | owner_ |
Real | edge_weight_ |
|
virtual |
copy constructor, do not use
NodeBase::NodeBase( NodeBase const & rhs)
par Global Read: |
destructor
par Global Read: |
References core::pack::interaction_graph::NodeBase::drop_edge(), core::pack::interaction_graph::InteractionGraphBase::drop_edge(), nodes_, owner_, pos_in_nodes_edge_list_, and pos_in_owners_edge_list_.
core::pack::interaction_graph::EdgeBase::EdgeBase | ( | InteractionGraphBase * | owner, |
int | first_node_ind, | ||
int | second_node_ind | ||
) |
main constructor for edge, no default nor copy constructors
EdgeBase::EdgeBase(InteractionGraphBase, int, int)
owner | - [in] - owning InteractionGraph |
first_node_ind | - [in] - the index of the first node |
second_node_ind | - [in] - the index of the second node |
References core::pack::interaction_graph::InteractionGraphBase::ig_nodes_.
|
private |
|
private |
|
virtual |
Reimplemented in core::pack::interaction_graph::LinearMemEdge, core::pack::interaction_graph::PDEdge, core::pack::interaction_graph::LazyEdge, core::pack::interaction_graph::DoubleLazyEdge, core::pack::interaction_graph::SymmOnTheFlyEdge, core::pack::interaction_graph::SymmLinearMemEdge, core::pack::interaction_graph::FASTEREdge, core::pack::interaction_graph::OnTheFlyEdge, core::pack::interaction_graph::DensePDEdge, core::pack::interaction_graph::DoubleDensePDEdge, and core::pack::interaction_graph::SymmMinimalistEdge.
Referenced by core::pack::interaction_graph::DoubleDensePDEdge::count_dynamic_memory(), core::pack::interaction_graph::DensePDEdge::count_dynamic_memory(), core::pack::interaction_graph::OnTheFlyEdge::count_dynamic_memory(), core::pack::interaction_graph::FASTEREdge::count_dynamic_memory(), core::pack::interaction_graph::SymmOnTheFlyEdge::count_dynamic_memory(), and core::pack::interaction_graph::PDEdge::count_dynamic_memory().
|
pure virtual |
Implemented in core::pack::interaction_graph::LinearMemEdge, core::pack::interaction_graph::PDEdge, core::pack::interaction_graph::LazyEdge, core::pack::interaction_graph::DoubleLazyEdge, core::pack::interaction_graph::SymmOnTheFlyEdge, core::pack::interaction_graph::SymmLinearMemEdge, core::pack::interaction_graph::FASTEREdge, core::pack::interaction_graph::OnTheFlyEdge, core::pack::interaction_graph::DensePDEdge, core::pack::interaction_graph::DoubleDensePDEdge, and core::pack::interaction_graph::SymmMinimalistEdge.
|
pure virtual |
Implemented in core::pack::interaction_graph::LinearMemEdge, core::pack::interaction_graph::PDEdge, core::pack::interaction_graph::SymmLinearMemEdge, core::pack::interaction_graph::DoubleLazyEdge, core::pack::interaction_graph::FASTEREdge, core::pack::interaction_graph::SymmMinimalistEdge, core::pack::interaction_graph::LazyEdge, core::pack::interaction_graph::DensePDEdge, and core::pack::interaction_graph::DoubleDensePDEdge.
Referenced by core::pack::interaction_graph::PrecomputedPairEnergiesInteractionGraph::declare_edge_energies_final().
|
inline |
References edge_weight_.
Referenced by core::pack::interaction_graph::OnTheFlyNode::compute_rotamer_pair_energy(), core::pack::interaction_graph::SymmOnTheFlyNode::compute_rotamer_pair_energy(), core::pack::interaction_graph::InteractionGraphBase::get_edge_weight(), core::pack::interaction_graph::DoubleLazyEdge::get_two_body_energy_smi(), core::pack::interaction_graph::SymmMinimalistEdge::set_edge_weight(), core::pack::interaction_graph::DoubleDensePDEdge::set_edge_weight(), core::pack::interaction_graph::DensePDEdge::set_edge_weight(), core::pack::interaction_graph::SymmLinearMemEdge::set_edge_weight(), core::pack::interaction_graph::DoubleLazyEdge::set_edge_weight(), core::pack::interaction_graph::FASTEREdge::set_edge_weight(), core::pack::interaction_graph::LazyEdge::set_edge_weight(), core::pack::interaction_graph::LinearMemEdge::set_edge_weight(), and core::pack::interaction_graph::PDEdge::set_edge_weight().
|
protected |
protected setter of the edge weight. To be called by derived classes after they have completed the conversion from the previous edge weighting to the new edge weighting.
References edge_weight_.
|
inlineprotected |
References pos_in_nodes_edge_vector_.
Referenced by core::pack::interaction_graph::FASTEREdge::acknowledge_partial_state_assignment(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::LazyEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::LinearMemEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::FASTEREdge::acknowledge_perturbed_state(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_state_change(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_state_change(), core::pack::interaction_graph::LazyEdge::acknowledge_state_change(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_state_change(), core::pack::interaction_graph::LinearMemEdge::acknowledge_state_change(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DoubleDensePDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DensePDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::LazyEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::FASTEREdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::PDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::LinearMemEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_substitution(), core::pack::interaction_graph::DoubleDensePDEdge::acknowledge_substitution(), core::pack::interaction_graph::DensePDEdge::acknowledge_substitution(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_substitution(), core::pack::interaction_graph::FASTEREdge::acknowledge_substitution(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_substitution(), core::pack::interaction_graph::LazyEdge::acknowledge_substitution(), core::pack::interaction_graph::PDEdge::acknowledge_substitution(), core::pack::interaction_graph::LinearMemEdge::acknowledge_substitution(), core::pack::interaction_graph::DoubleLazyEdge::get_aa_submatrix_energies(), core::pack::interaction_graph::LazyEdge::get_aa_submatrix_energies(), core::pack::interaction_graph::SymmMinimalistEdge::get_energy_following_partial_state_assignment(), core::pack::interaction_graph::SymmLinearMemEdge::get_energy_following_partial_state_assignment(), core::pack::interaction_graph::LinearMemEdge::get_energy_following_partial_state_assignment(), core::pack::interaction_graph::SymmMinimalistEdge::get_energy_for_alt_state(), core::pack::interaction_graph::LazyEdge::get_energy_for_state_pair(), core::pack::interaction_graph::LazyEdge::get_two_body_energy(), and core::pack::interaction_graph::DoubleLazyEdge::get_two_body_energy_smi().
int core::pack::interaction_graph::EdgeBase::get_first_node_ind | ( | ) | const |
returns the index of the smaller-indexed node
par Global Read: |
References node_indices_.
|
inlineprotected |
References nodes_.
Referenced by core::pack::interaction_graph::DoubleLazyEdge::get_dlazy_node(), core::pack::interaction_graph::DoubleDensePDEdge::get_dpd_node(), core::pack::interaction_graph::DensePDEdge::get_dpd_node(), core::pack::interaction_graph::FASTEREdge::get_faster_node(), core::pack::interaction_graph::LazyEdge::get_lazy_node(), core::pack::interaction_graph::LinearMemEdge::get_linmem_node(), core::pack::interaction_graph::OnTheFlyEdge::get_otf_node(), core::pack::interaction_graph::SymmOnTheFlyEdge::get_otf_node(), core::pack::interaction_graph::PDEdge::get_pd_node(), core::pack::interaction_graph::SymmMinimalistEdge::get_symmin_node(), and core::pack::interaction_graph::SymmLinearMemEdge::get_symmlinmem_node().
References nodes_.
References node_indices_.
Referenced by core::pack::interaction_graph::FASTEREdge::acknowledge_partial_state_assignment(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::LazyEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::LinearMemEdge::acknowledge_partial_state_change(), core::pack::interaction_graph::FASTEREdge::acknowledge_perturbed_state(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_state_change(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_state_change(), core::pack::interaction_graph::LazyEdge::acknowledge_state_change(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_state_change(), core::pack::interaction_graph::LinearMemEdge::acknowledge_state_change(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DoubleDensePDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DensePDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::LazyEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::FASTEREdge::acknowledge_state_zeroed(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::PDEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::LinearMemEdge::acknowledge_state_zeroed(), core::pack::interaction_graph::SymmMinimalistEdge::acknowledge_substitution(), core::pack::interaction_graph::DoubleDensePDEdge::acknowledge_substitution(), core::pack::interaction_graph::DensePDEdge::acknowledge_substitution(), core::pack::interaction_graph::SymmLinearMemEdge::acknowledge_substitution(), core::pack::interaction_graph::FASTEREdge::acknowledge_substitution(), core::pack::interaction_graph::DoubleLazyEdge::acknowledge_substitution(), core::pack::interaction_graph::LazyEdge::acknowledge_substitution(), core::pack::interaction_graph::PDEdge::acknowledge_substitution(), core::pack::interaction_graph::LinearMemEdge::acknowledge_substitution(), core::pack::interaction_graph::SymmOnTheFlyEdge::add_ProCorrection_values(), core::pack::interaction_graph::FASTEREdge::get_deltaE_for_neighbor_following_perturbation(), core::pack::interaction_graph::SymmMinimalistEdge::get_energy_for_alt_state(), core::pack::interaction_graph::FASTEREdge::get_energy_for_perturbed_state(), core::pack::interaction_graph::OnTheFlyEdge::get_proline_correction_for_node(), core::pack::interaction_graph::SymmOnTheFlyEdge::get_proline_correction_for_node(), core::pack::interaction_graph::SymmMinimalistEdge::print_current_energy(), core::pack::interaction_graph::SymmLinearMemEdge::print_current_energy(), core::pack::interaction_graph::DoubleLazyEdge::print_current_energy(), core::pack::interaction_graph::LazyEdge::print_current_energy(), core::pack::interaction_graph::LinearMemEdge::print_current_energy(), core::pack::interaction_graph::SymmLinearMemEdge::reset_state_energies(), core::pack::interaction_graph::LinearMemEdge::reset_state_energies(), and core::pack::interaction_graph::OnTheFlyEdge::set_ProCorrection_values().
|
inlineprotected |
References num_node_states_.
Referenced by core::pack::interaction_graph::DensePDEdge::get_edge_table_ptr(), core::pack::interaction_graph::FASTEREdge::get_edge_table_ptr(), core::pack::interaction_graph::OnTheFlyEdge::OnTheFlyEdge(), core::pack::interaction_graph::SymmLinearMemEdge::prepare_for_simulated_annealing(), core::pack::interaction_graph::LinearMemEdge::prepare_for_simulated_annealing(), core::pack::interaction_graph::SymmLinearMemEdge::reset_state_energies(), core::pack::interaction_graph::LinearMemEdge::reset_state_energies(), and core::pack::interaction_graph::SymmOnTheFlyEdge::SymmOnTheFlyEdge().
returns the index of the other node that the edge is incident upon
node_ind | - [in] - the node index of the node whose index is already known |
References node_indices_.
Referenced by core::pack::interaction_graph::NodeBase::add_edge(), and core::pack::setup_IG_res_res_weights().
returns a pointer to the other node that the edge is incident upon
node_ind | - [in] - the node index of the node whose index is already known |
References node_indices_, and nodes_.
|
inline |
References owner_.
Referenced by core::pack::interaction_graph::DoubleLazyEdge::get_dlazy_ig_owner(), core::pack::interaction_graph::DoubleDensePDEdge::get_dpdig_owner(), core::pack::interaction_graph::DensePDEdge::get_dpdig_owner(), core::pack::interaction_graph::FASTEREdge::get_fasterig_owner(), core::pack::interaction_graph::LazyEdge::get_lazy_ig_owner(), core::pack::interaction_graph::LinearMemEdge::get_linmem_ig_owner(), core::pack::interaction_graph::SymmOnTheFlyEdge::get_otf_owner(), core::pack::interaction_graph::PDEdge::get_pdig_owner(), core::pack::interaction_graph::SymmMinimalistEdge::get_symmin_ig_owner(), core::pack::interaction_graph::SymmLinearMemEdge::get_symmlinmem_ig_owner(), and core::pack::interaction_graph::InteractionGraphBase::mine().
|
inline |
References owner_.
int core::pack::interaction_graph::EdgeBase::get_second_node_ind | ( | ) | const |
returns the index of the larger-indexed node
EdgeBase::get_second_node_ind()
par Global Read: |
References node_indices_.
|
pure virtual |
Implemented in core::pack::interaction_graph::LinearMemEdge, core::pack::interaction_graph::PDEdge, core::pack::interaction_graph::DoubleLazyEdge, core::pack::interaction_graph::FASTEREdge, core::pack::interaction_graph::LazyEdge, core::pack::interaction_graph::SymmLinearMemEdge, core::pack::interaction_graph::DensePDEdge, core::pack::interaction_graph::DoubleDensePDEdge, and core::pack::interaction_graph::SymmMinimalistEdge.
returns true if this edge connects nodes of index node1 and node2 the order of node1 and node2 is not important
node1 | - [in] - index of one of the two nodes |
node2 | - [in] - index of the other of the two nodes |
References node_indices_.
Referenced by core::pack::interaction_graph::InteractionGraphBase::find_edge().
|
pure virtual |
Implemented in core::pack::interaction_graph::PDEdge, core::pack::interaction_graph::LinearMemEdge, core::pack::interaction_graph::LazyEdge, core::pack::interaction_graph::FASTEREdge, core::pack::interaction_graph::DoubleLazyEdge, core::pack::interaction_graph::SymmLinearMemEdge, core::pack::interaction_graph::DensePDEdge, core::pack::interaction_graph::DoubleDensePDEdge, and core::pack::interaction_graph::SymmMinimalistEdge.
Referenced by core::pack::interaction_graph::InteractionGraphBase::set_edge_weight().
void core::pack::interaction_graph::EdgeBase::set_pos_in_node_edgevector | ( | int | node_ind, |
int | vect_position | ||
) |
edge keeps index it has in node_ind's edge vector
EdgeBase::set_pos_in_node_edgevector
node_ind | - [in] - the index of the node calling this method |
vect_position | - [in] - the position for this edge in the node's edge vector |
References node_indices_, and pos_in_nodes_edge_vector_.
void core::pack::interaction_graph::EdgeBase::set_pos_in_owners_list | ( | std::list< EdgeBase * >::iterator | iter | ) |
edge keeps iterator to its position in it's owner's edge list
EdgeBase::set_pos_in_owners_list
par Global Read: |
References pos_in_owners_edge_list_.
Referenced by core::pack::interaction_graph::InteractionGraphBase::add_edge().
is a node the first or second node this edge is incident upon?
References node_indices_.
Referenced by core::pack::interaction_graph::SymmOnTheFlyEdge::add_ProCorrection_values(), core::pack::interaction_graph::OnTheFlyEdge::eval_type(), core::pack::interaction_graph::SymmOnTheFlyEdge::eval_type(), core::pack::interaction_graph::OnTheFlyEdge::get_proline_correction(), core::pack::interaction_graph::SymmOnTheFlyEdge::get_proline_correction(), core::pack::interaction_graph::OnTheFlyEdge::get_proline_correction_for_node(), core::pack::interaction_graph::SymmOnTheFlyEdge::get_proline_correction_for_node(), and core::pack::interaction_graph::OnTheFlyEdge::set_ProCorrection_values().
|
private |
Allow the arbitrary scaling of energies for each edge. The derived classes have the responsibility of scaling each energy as it is added to the edge, and also updating all of the edge energies if the edge weight changes after all the edge energies have been stored – that is, by dividing each energy by the old weight and multiplying by the new weight.
Referenced by edge_weight().
|
private |
|
private |
Referenced by get_node(), get_other_node(), and ~EdgeBase().
|
private |
Referenced by get_num_states_for_node().
|
private |
Referenced by get_owner(), and ~EdgeBase().
|
private |
Referenced by ~EdgeBase().
|
private |
Referenced by get_edges_position_in_nodes_edge_vector(), and set_pos_in_node_edgevector().
|
private |
Referenced by set_pos_in_owners_list(), and ~EdgeBase().