Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::pack::interaction_graph::InteractionGraphBase Class Referenceabstract

#include <InteractionGraphBase.hh>

Inheritance diagram for core::pack::interaction_graph::InteractionGraphBase:
Inheritance graph
[legend]

Public Member Functions

 ~InteractionGraphBase () override
 destructor More...
 
 InteractionGraphBase (int num_nodes)
 main constructor More...
 
int get_num_nodes () const override
 Get the number of nodes in the graph. More...
 
virtual void initialize (pack_basic::RotamerSetsBase const &rot_sets)=0
 
void set_num_states_for_node (int node, int num_states)
 sets the number of states for a node of a particular index NEW REQUIREMENT: Nodes must have their num-states set in ascending order by node index; that is, node 1 must go first, node 2 next, and so on. More...
 
int get_num_states_for_node (int node) const override
 returns the number of states for a particular node More...
 
int get_num_total_states () const override
 Get the total number of states. More...
 
virtual core::PackerEnergy get_one_body_energy_for_node_state (int node, int state)=0
 
void add_edge (int node1, int node2)
 creates a new edge between nodes index1 and index2. Nodes do not have to be listed in order More...
 
bool get_edge_exists (int node1, int node2) const
 returns true if an edge between node1 and node2 exists More...
 
void drop_all_edges_for_node (int node)
 deletes all edges adjacent to the node specified More...
 
void print_vertices () const
 calls print() on each of the nodes in the graph More...
 
virtual void print () const
 
void output_connectivity (std::ostream &os) const
 writes out a list of all the edges in the graph More...
 
void output_dimacs (std::ostream &os) const
 writes out a connectivity description of the graph in the famous dimacs format. (where the first column "DIMACS:" should be sed'ed out) More...
 
void set_onebody_energies_multithreaded (core::Size const node_index, core::pack::rotamer_set::RotamerSetCOP rotset, core::pose::Pose const &pose, core::scoring::ScoreFunction const &sfxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, basic::thread_manager::RosettaThreadAssignmentInfo const &thread_assignments)
 Compute and store the onebody energy for all rotamers at a position. Safe for a multithreaded context. More...
 
void prepare_graph_for_simulated_annealing () override
 iterate across edges and nodes and allow them to prepare for simulated annealing More...
 
void blanket_assign_state_0 () override=0
 State initialization. More...
 
core::PackerEnergy set_state_for_node (int node_ind, int new_state) override=0
 Explicit state modification for a node. More...
 
core::PackerEnergy set_network_state (ObjexxFCL::FArray1_int &node_states) override=0
 Explicit state modification for the network. More...
 
void consider_substitution (int node_ind, int new_state, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_energy_for_node) override=0
 Consider switching node "node_ind" to state "new_state". More...
 
core::PackerEnergy commit_considered_substitution () override=0
 Accept a considered substitution (i.e. make the substitution permanent; commit it). More...
 
core::PackerEnergy get_energy_current_state_assignment () override=0
 Get the energy resulting from the current set of state assignments. More...
 
void set_edge_weight (int node1, int node2, Real edge_weight)
 
Real get_edge_weight (int node1, int node2) const
 
virtual int get_edge_memory_usage () const =0
 
virtual void print_current_state_assignment () const =0
 
void set_errorfull_deltaE_threshold (core::PackerEnergy deltaE) override=0
 Set an error threshold. More...
 
bool any_vertex_state_unassigned () const override
 Returns true if any node in the graph is in state 0, the unassigned state. More...
 
void add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &one_body_energies)
 takes one FArray of energies – one energy for each state for each node More...
 
void update_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &old_energy1b, ObjexxFCL::FArray1< core::PackerEnergy > &new_energy1b)
 decrements the one body energies by the values held in old_energy1b, increments the one body energies by the values held in new_energy1b, and copies new_energy1b into old_energy1b. More...
 
void zero_one_body_energies_for_node (int node)
 
void add_to_nodes_one_body_energy (int node_ind, utility::vector1< core::PackerEnergy > const &one_body_energies)
 
void add_to_nodes_one_body_energy (int node_ind, ObjexxFCL::FArray1< core::PackerEnergy > const &one_body_energies)
 
void add_to_nodes_one_body_energy (int node_ind, int state_id, core::PackerEnergy const one_body_energy)
 interface to PrecomputedPairEnergiesNode::add_to_nodes_one_body_energy More...
 
void set_number_of_energy_sum_vertex_groups (int num_groups)
 a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.) More...
 
void set_vertex_member_of_group (int vertex, int group)
 a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.) More...
 
void print_vertex_groups ()
 
virtual core::PackerEnergy get_energy_sum_for_vertex_group (int group_id)=0
 
int count_connected_components_and_initialize_vertex_groups ()
 makes a depth first traversal of the graph, counting the number of connected components, and initializes the vertex group memberships to reflect the connected components. Returns the number of connected components in the graph. More...
 
void note_vertex_reached (int node_index)
 marks a vertex as belonging to the connected component currently being traversed in the depth first traversal. More...
 
bool vertex_already_reached (int node_index)
 used by class NodeBase during the depth-first traversal to determine the number of connected components in the graph. returns true if the dft has already reached the node. More...
 
bool get_vertex_member_of_energy_sum_group (int node_index, int group_id)
 
virtual unsigned int getTotalMemoryUsage () const
 
void reset_edge_list_iterator_for_node (int node_index) const
 set the Graph's (single) edge list iterator to the beginning of the edge list for a particular node More...
 
void increment_edge_list_iterator () const
 increment the (single) edge list iterator to the next element More...
 
bool edge_list_iterator_at_end () const
 test: have we arrived at the edge list end? More...
 
EdgeBase const & get_edge () const
 return a const reference to an edge pointed at by the list iterator More...
 
virtual void declare_all_edge_energies_final ()
 Iterates over all edges and calls declare_energies_final() on all of them. Takes O(N) time, where N is the number of edges. More...
 
EdgeBase const * find_edge (int node1, int node2, bool const use_threadsafe_lookup=false) const
 Find an edge and return a const pointer to it. More...
 
EdgeBasefind_edge (int node1, int node2, bool const use_threadsafe_lookup=false)
 Find an edge and return a nonconst pointer to it. More...
 
virtual NodeBasecreate_new_node (int node_index, int num_states)=0
 
virtual EdgeBasecreate_new_edge (int index1, int index2)=0
 
NodeBaseget_node (int index) const
 
int get_num_edges () const
 
std::list< EdgeBase * >::iterator get_edge_list_begin ()
 
std::list< EdgeBase * >::iterator get_edge_list_end ()
 
std::list< EdgeBase * >
::const_iterator 
get_edge_list_begin () const
 
std::list< EdgeBase * >
::const_iterator 
get_edge_list_end () const
 
- Public Member Functions inherited from core::pack::interaction_graph::AnnealableGraphBase
 AnnealableGraphBase ()
 Constructor. More...
 
 AnnealableGraphBase (AnnealableGraphBase const &src)
 Copy constructor. More...
 
 ~AnnealableGraphBase () override
 Destructor. More...
 
virtual void clean_up_after_packing (core::pose::Pose &pose)
 Provide the opportunity for an AnnealableGraph to clean up cached data in the pose or inside itself after packing. More...
 

Protected Member Functions

void clean_up_edges_marked_for_deletion ()
 Remove those edges that have marked themselves for deletion. More...
 
virtual unsigned int count_static_memory () const =0
 
virtual unsigned int count_dynamic_memory () const
 
void drop_edge (std::list< EdgeBase * >::iterator edge)
 removes edge from edge list at iterator iter More...
 
int get_node_state_offset (int index) const
 
bool mine (EdgeBase const *edge) const
 

Private Member Functions

 InteractionGraphBase ()
 
 InteractionGraphBase (InteractionGraphBase const &)
 
InteractionGraphBaseoperator= (InteractionGraphBase const &)
 

Private Attributes

int num_ig_nodes_
 
std::vector< NodeBase * > ig_nodes_
 
std::list< EdgeBase * > ig_edge_list_
 
std::vector< int > node_state_offsets_
 
int num_total_states_
 
EdgeBasefocused_edge_
 
std::list< EdgeBase * >
::const_iterator 
focused_edge_iterator_
 
std::list< EdgeBase * >
::const_iterator 
focused_edge_iterator_end_
 
int num_energy_sum_groups_
 
ObjexxFCL::FArray2D_bool energy_sum_group_membership_
 
ObjexxFCL::FArray1D_int component_membership_
 

Friends

class NodeBase
 
class EdgeBase
 

Constructor & Destructor Documentation

core::pack::interaction_graph::InteractionGraphBase::~InteractionGraphBase ( )
override

destructor

deletes each edge in the graph and deletes each node

Parameters
par Global Read:
Global Write:
Remarks
References:
Author
apl

References ig_edge_list_, ig_nodes_, and num_ig_nodes_.

core::pack::interaction_graph::InteractionGraphBase::InteractionGraphBase ( int  num_ig_nodes)

main constructor

no default or copy constructors provided.

Parameters
num_ig_nodes- [in] - number of nodes that this graph will contain
Global Read:
Global Write:
Remarks
References:
Author
apl
core::pack::interaction_graph::InteractionGraphBase::InteractionGraphBase ( )
private
core::pack::interaction_graph::InteractionGraphBase::InteractionGraphBase ( InteractionGraphBase const &  )
private

Member Function Documentation

void core::pack::interaction_graph::InteractionGraphBase::add_edge ( int  index1,
int  index2 
)

creates a new edge between nodes index1 and index2. Nodes do not have to be listed in order

uses factory method create_new_edge and adds the created edge to the graph's edge list.

Parameters
index1- [in] - index of one of the two nodes the edge is to connect
index2- [in] - index of the second of the two nodes the edge is to connect
Global Read:
Global Write:
Remarks
References:
Author
apl

References create_new_edge(), focused_edge_, ig_edge_list_, and core::pack::interaction_graph::EdgeBase::set_pos_in_owners_list().

Referenced by core::pack::interaction_graph::PDInteractionGraph::add_edge(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_one_body_energies_for_otf_ig(), and protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_sr_one_body_energies_for_flexsets().

void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy ( int  node_ind,
utility::vector1< core::PackerEnergy > const &  one_body_energies 
)
Parameters
node_ind- [in] - the node in question
one_body_energies- [in] - the energies to be added to the one-body energies on that node. One entry per state.

Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_onebody_interactions_with_background(), and set_onebody_energies_multithreaded().

void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy ( int  node_ind,
ObjexxFCL::FArray1< core::PackerEnergy > const &  one_body_energies 
)
void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy ( int  node_ind,
int  state_id,
core::PackerEnergy const  one_body_energy 
)

interface to PrecomputedPairEnergiesNode::add_to_nodes_one_body_energy

Parameters
node_ind- [in] - the index of the node in question
state_id- [in] - the state in question
one_body_energy- [in] - the energy to be added
void core::pack::interaction_graph::InteractionGraphBase::add_to_one_body_energies ( ObjexxFCL::FArray1< core::PackerEnergy > &  one_body_energies)

takes one FArray of energies – one energy for each state for each node

The input array should have {v} |S_v| entries, where S_v is the state-space for vertex v. If the graph has two vertices, with 15 and 20 states respectively, then entries 1 to 15 correspond to vertex 1, and entries 16 to 36 correspond to vertex 2. This compact enumeration scheme is the same as the enumeration scheme used by rotindex, rotcoord, etc

Parameters
one_body_energies- [in] - the array of one body energies
Global Read:
Global Write:
Remarks
References:
Author
apl
bool core::pack::interaction_graph::InteractionGraphBase::any_vertex_state_unassigned ( ) const
overridevirtual

Returns true if any node in the graph is in state 0, the unassigned state.

Useful for debugging. If simulated annealing completes, and any vertex remains in state 0, then the state assignment is not meaningful nor is the energy for that assignment. The cases in which state-0 problems turn up are from passing an annealer a list of states to restrict itself to wherein some vertex has no states listed. Such cases are bugs; this subroutine helps identify them.

Parameters
par Global Read:
Global Write:
Remarks
References:
Author
apl

Implements core::pack::interaction_graph::AnnealableGraphBase.

References get_node(), get_num_nodes(), and core::pack::interaction_graph::NodeBase::state_unassigned().

Referenced by protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_projected_deltaE_of_considered_substitution().

void core::pack::interaction_graph::InteractionGraphBase::blanket_assign_state_0 ( )
overridepure virtual
void core::pack::interaction_graph::InteractionGraphBase::clean_up_edges_marked_for_deletion ( )
protected

Remove those edges that have marked themselves for deletion.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.irio.nosp@m.ninst.nosp@m.itut.nosp@m.e.org).

References ig_edge_list_.

Referenced by declare_all_edge_energies_final(), and prepare_graph_for_simulated_annealing().

core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::commit_considered_substitution ( )
overridepure virtual
void core::pack::interaction_graph::InteractionGraphBase::consider_substitution ( int  node_ind,
int  new_state,
core::PackerEnergy delta_energy,
core::PackerEnergy prev_energy_for_node 
)
overridepure virtual

Consider switching node "node_ind" to state "new_state".

Must be implemented by derived classes.

Parameters
[in]node_indThe node index.
[in]new_stateThe state index that we are considering switching TO.
[out]delta_energyThe change in energy that results from the switch under consideration, computed by this function.
[out]prev_energy_for_nodeThe energy of this node prior to the substitutio, returned by this function.

Implements core::pack::interaction_graph::AnnealableGraphBase.

Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.

int core::pack::interaction_graph::InteractionGraphBase::count_connected_components_and_initialize_vertex_groups ( )

makes a depth first traversal of the graph, counting the number of connected components, and initializes the vertex group memberships to reflect the connected components. Returns the number of connected components in the graph.

count_connected_components_and_initialize_vertex_groups

Parameters
par Global Read:
Global Write:
Remarks
References:
Author
apl

References component_membership_, energy_sum_group_membership_, ig_nodes_, num_energy_sum_groups_, num_ig_nodes_, and vertex_already_reached().

unsigned int core::pack::interaction_graph::InteractionGraphBase::count_dynamic_memory ( ) const
protectedvirtual

Reimplemented in core::pack::interaction_graph::SymmOnTheFlyInteractionGraph, protocols::flexpack::interaction_graph::FlexbbInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.

References ig_edge_list_, and num_ig_nodes_.

Referenced by core::pack::interaction_graph::DoubleDensePDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::DensePDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::FASTERInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::PDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::OnTheFlyInteractionGraph::count_dynamic_memory(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::count_dynamic_memory(), and getTotalMemoryUsage().

virtual unsigned int core::pack::interaction_graph::InteractionGraphBase::count_static_memory ( ) const
protectedpure virtual
virtual EdgeBase* core::pack::interaction_graph::InteractionGraphBase::create_new_edge ( int  index1,
int  index2 
)
pure virtual
virtual NodeBase* core::pack::interaction_graph::InteractionGraphBase::create_new_node ( int  node_index,
int  num_states 
)
pure virtual
void core::pack::interaction_graph::InteractionGraphBase::declare_all_edge_energies_final ( )
virtual

Iterates over all edges and calls declare_energies_final() on all of them. Takes O(N) time, where N is the number of edges.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org).

References clean_up_edges_marked_for_deletion(), and ig_edge_list_.

void core::pack::interaction_graph::InteractionGraphBase::drop_all_edges_for_node ( int  node)

deletes all edges adjacent to the node specified

Parameters
node- [in] - index of the node
Global Read:
Global Write:
Remarks
References:
Author
apl

References core::pack::interaction_graph::NodeBase::drop_all_edges(), and get_node().

void core::pack::interaction_graph::InteractionGraphBase::drop_edge ( std::list< EdgeBase * >::iterator  iter)
protected

removes edge from edge list at iterator iter

each edge keeps track of its position in its owner's graph's edge list so it can efficiently delete itself should it need to.

Parameters
iter- [in] - the iterator pointing at the edge that's deleting itself
Global Read:
Global Write:
Remarks
References:
Author
apl

References focused_edge_, and ig_edge_list_.

Referenced by core::pack::interaction_graph::EdgeBase::~EdgeBase().

bool core::pack::interaction_graph::InteractionGraphBase::edge_list_iterator_at_end ( ) const
EdgeBase const * core::pack::interaction_graph::InteractionGraphBase::find_edge ( int  node1,
int  node2,
bool const  use_threadsafe_lookup = false 
) const

Find an edge and return a const pointer to it.

returns the edge connecting node1 and node2

The following functions provide access to the nodes and edges in the graph though, their use is strongly discouraged except for in writing unit tests to ensure that the graphs are properly implemented.

By default, the last edge accessed is cached, for faster lookups. If use_threadsafe_lookup is true, we avoid the caching.

graph keeps a pointer to the last edge that was accessed to that search is fairly efficient.

Parameters
node1- [in] - index of the first node
node2- [in] - index of the second node
use_threadsafe_lookup- [in] - If true, do not cache the last edge for faster future lookup. False by default.
Global Read:
Global Write:
Remarks
References:
Author
apl

References focused_edge_, ig_nodes_, and core::pack::interaction_graph::EdgeBase::same_edge().

Referenced by core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::add_GlyCorrection_values_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::add_ProCorrection_values_for_edge(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::find_flexbb_edge(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::find_minimalist_flexbb_edge(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::find_otfflexbb_edge(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_dlazy_edge(), core::pack::interaction_graph::DensePDInteractionGraph::get_dpd_edge(), get_edge_exists(), get_edge_weight(), core::pack::interaction_graph::FASTERInteractionGraph::get_faster_edge(), core::pack::interaction_graph::FixedBBInteractionGraph::get_fixedbb_edge(), core::pack::interaction_graph::LazyInteractionGraph::get_lazy_edge(), core::pack::interaction_graph::PDInteractionGraph::get_pd_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::note_long_range_interactions_exist_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::note_long_range_interactions_exist_for_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::note_short_range_interactions_exist_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::note_short_range_interactions_exist_for_edge(), set_edge_weight(), core::pack::interaction_graph::OnTheFlyInteractionGraph::set_GlyCorrection_values_for_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::set_ProCorrection_values_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::set_residues_adjacent_for_subunit_pair_for_edge(), and core::pack::interaction_graph::OnTheFlyInteractionGraph::set_sparse_aa_info_for_edge().

EdgeBase * core::pack::interaction_graph::InteractionGraphBase::find_edge ( int  node1,
int  node2,
bool const  use_threadsafe_lookup = false 
)

Find an edge and return a nonconst pointer to it.

By default, the last edge accessed is cached, for faster lookups. If use_threadsafe_lookup is true, we avoid the caching.

References focused_edge_, ig_nodes_, and core::pack::interaction_graph::EdgeBase::same_edge().

EdgeBase const & core::pack::interaction_graph::InteractionGraphBase::get_edge ( ) const

return a const reference to an edge pointed at by the list iterator

References focused_edge_iterator_.

Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().

bool core::pack::interaction_graph::InteractionGraphBase::get_edge_exists ( int  node1,
int  node2 
) const

returns true if an edge between node1 and node2 exists

Parameters
node1- [in] - index of the one of the nodes node2 - [in] - index of the other node
Global Read:
Global Write:
Remarks
References:
Author
apl

References find_edge().

Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_one_body_energies_for_otf_ig().

std::list< EdgeBase* >::iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_begin ( )
inline

References ig_edge_list_.

Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::PDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().

std::list< EdgeBase* >::const_iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_begin ( ) const
inline

References ig_edge_list_.

std::list< EdgeBase* >::iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_end ( )
inline

References ig_edge_list_.

Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::PDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().

std::list< EdgeBase* >::const_iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_end ( ) const
inline

References ig_edge_list_.

virtual int core::pack::interaction_graph::InteractionGraphBase::get_edge_memory_usage ( ) const
pure virtual
Real core::pack::interaction_graph::InteractionGraphBase::get_edge_weight ( int  node1,
int  node2 
) const

returns 0 if edge is not part of the graph

References core::pack::interaction_graph::EdgeBase::edge_weight(), and find_edge().

core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_energy_current_state_assignment ( )
overridepure virtual
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_energy_sum_for_vertex_group ( int  group_id)
pure virtual
NodeBase* core::pack::interaction_graph::InteractionGraphBase::get_node ( int  index) const
inline
int core::pack::interaction_graph::InteractionGraphBase::get_node_state_offset ( int  index) const
inlineprotected
int core::pack::interaction_graph::InteractionGraphBase::get_num_edges ( ) const
inline
int core::pack::interaction_graph::InteractionGraphBase::get_num_nodes ( ) const
inlineoverridevirtual

Get the number of nodes in the graph.

Must be implemented by derived classes.

Implements core::pack::interaction_graph::AnnealableGraphBase.

References num_ig_nodes_.

Referenced by any_vertex_state_unassigned(), core::pack::interaction_graph::FASTERInteractionGraph::assign_BMEC(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::blanket_assign_state_0(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DensePDInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::FASTERInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::LazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::PDInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::LinearMemoryInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DoubleLazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::FASTERInteractionGraph::commit_relaxation(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_accessible_states(), core::pack::interaction_graph::FASTERInteractionGraph::get_current_network_state(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_weighted_energy(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::initialize(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DensePDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::FASTERInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::PDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), print_vertex_groups(), core::pack::interaction_graph::FASTERInteractionGraph::probabilistically_commit_relaxation(), core::pack::interaction_graph::FASTERInteractionGraph::relax_in_current_context(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_network_state(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::set_network_state(), core::pack::interaction_graph::DensePDInteractionGraph::set_network_state(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::set_network_state(), core::pack::interaction_graph::FASTERInteractionGraph::set_network_state(), core::pack::interaction_graph::LazyInteractionGraph::set_network_state(), core::pack::interaction_graph::PDInteractionGraph::set_network_state(), core::pack::interaction_graph::LinearMemoryInteractionGraph::set_network_state(), core::pack::interaction_graph::DoubleLazyInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::set_pose(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::set_recent_history_sizes(), core::pack::interaction_graph::LinearMemoryInteractionGraph::set_recent_history_sizes(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals().

int core::pack::interaction_graph::InteractionGraphBase::get_num_states_for_node ( int  node_index) const
overridevirtual

returns the number of states for a particular node

Parameters
node_index- [in] - the index of the node in question
Global Read:
Global Write:
Remarks
References:
Author
apl

Implements core::pack::interaction_graph::AnnealableGraphBase.

References ig_nodes_.

int core::pack::interaction_graph::InteractionGraphBase::get_num_total_states ( ) const
inlineoverridevirtual

Get the total number of states.

Must be implemented by derived classes.

Implements core::pack::interaction_graph::AnnealableGraphBase.

References num_total_states_.

virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_one_body_energy_for_node_state ( int  node,
int  state 
)
pure virtual
bool core::pack::interaction_graph::InteractionGraphBase::get_vertex_member_of_energy_sum_group ( int  node_index,
int  group_id 
)
inline
unsigned int core::pack::interaction_graph::InteractionGraphBase::getTotalMemoryUsage ( ) const
virtual
void core::pack::interaction_graph::InteractionGraphBase::increment_edge_list_iterator ( ) const

increment the (single) edge list iterator to the next element

References focused_edge_iterator_, and focused_edge_iterator_end_.

Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().

virtual void core::pack::interaction_graph::InteractionGraphBase::initialize ( pack_basic::RotamerSetsBase const &  rot_sets)
pure virtual
bool core::pack::interaction_graph::InteractionGraphBase::mine ( EdgeBase const *  edge) const
inlineprotected
void core::pack::interaction_graph::InteractionGraphBase::note_vertex_reached ( int  node_index)

marks a vertex as belonging to the connected component currently being traversed in the depth first traversal.

Parameters
node_index- [in] - the index of the node invoking this method.
Global Read:
Global Write:
Remarks
This method should be used by the NodeBase class only.
References:
Author
apl

References component_membership_, and num_energy_sum_groups_.

Referenced by core::pack::interaction_graph::NodeBase::depth_first_connected_component_counting().

InteractionGraphBase& core::pack::interaction_graph::InteractionGraphBase::operator= ( InteractionGraphBase const &  )
private
void core::pack::interaction_graph::InteractionGraphBase::output_connectivity ( std::ostream &  os) const

writes out a list of all the edges in the graph

Parameters
os- [in] - the output stream to write to
Global Read:
Global Write:
Remarks
References:
Author
apl

References ig_edge_list_.

void core::pack::interaction_graph::InteractionGraphBase::output_dimacs ( std::ostream &  os) const

writes out a connectivity description of the graph in the famous dimacs format. (where the first column "DIMACS:" should be sed'ed out)

Parameters
os- [in] - the output stream to write to
Global Read:
Global Write:
Remarks
References:
Author
apl

References ig_edge_list_, and num_ig_nodes_.

void core::pack::interaction_graph::InteractionGraphBase::prepare_graph_for_simulated_annealing ( )
overridevirtual
virtual void core::pack::interaction_graph::InteractionGraphBase::print ( ) const
inlinevirtual
virtual void core::pack::interaction_graph::InteractionGraphBase::print_current_state_assignment ( ) const
pure virtual
void core::pack::interaction_graph::InteractionGraphBase::print_vertex_groups ( )
void core::pack::interaction_graph::InteractionGraphBase::print_vertices ( ) const

calls print() on each of the nodes in the graph

Parameters
par Global Read:
Global Write:
Remarks
References:
Author
apl

References ig_nodes_, and num_ig_nodes_.

void core::pack::interaction_graph::InteractionGraphBase::reset_edge_list_iterator_for_node ( int  node_index) const

set the Graph's (single) edge list iterator to the beginning of the edge list for a particular node

Methods for iterating across edges of the interaction graph. Protected access since the raw edge lists contain non-const pointers.

References focused_edge_iterator_, focused_edge_iterator_end_, and ig_nodes_.

Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().

void core::pack::interaction_graph::InteractionGraphBase::set_edge_weight ( int  node1,
int  node2,
Real  edge_weight 
)

invokes polymorphic method of EdgeBase class; no-op if edge is not part of the graph.

References find_edge(), and core::pack::interaction_graph::EdgeBase::set_edge_weight().

Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().

void core::pack::interaction_graph::InteractionGraphBase::set_errorfull_deltaE_threshold ( core::PackerEnergy  deltaE)
overridepure virtual
core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::set_network_state ( ObjexxFCL::FArray1_int &  node_states)
overridepure virtual
void core::pack::interaction_graph::InteractionGraphBase::set_num_states_for_node ( int  node_index,
int  num_states 
)

sets the number of states for a node of a particular index NEW REQUIREMENT: Nodes must have their num-states set in ascending order by node index; that is, node 1 must go first, node 2 next, and so on.

once the graph knows how many states a node has, it instantiates a new node using the NodeBase(int) constructor through the graph's factory method create_new_node()

Parameters
node_index- [in] - the index of the node
num_states- [in] - the number of states for that node
Global Read:
Global Write:
Remarks
References:
Author
apl

Referenced by core::pack::interaction_graph::DoubleDensePDInteractionGraph::initialize(), core::pack::interaction_graph::DensePDInteractionGraph::initialize(), core::pack::interaction_graph::OnTheFlyInteractionGraph::initialize(), core::pack::interaction_graph::FASTERInteractionGraph::initialize(), core::pack::interaction_graph::PDInteractionGraph::initialize(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::initialize(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize().

void core::pack::interaction_graph::InteractionGraphBase::set_number_of_energy_sum_vertex_groups ( int  num_groups)

a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.)

First you must declare how many groups you are interested in. Do that with this method. Second you must declare which node is a member of each group. Only tell the graph which node is a member, do not tell the graph if a node is not a member. Third, when you want to know the energy sum for the group in the graph's current state assignment, call get_energy_sum_for_vertex_group( group_id)

Parameters
num_groups- [in] - the number of groups; set this at most once.
Global Read:
Global Write:
Remarks
References:
Author
apl

References energy_sum_group_membership_, num_energy_sum_groups_, and num_ig_nodes_.

void core::pack::interaction_graph::InteractionGraphBase::set_onebody_energies_multithreaded ( core::Size const  node_index,
core::pack::rotamer_set::RotamerSetCOP  rotset,
core::pose::Pose const &  pose,
core::scoring::ScoreFunction const &  sfxn,
task::PackerTask const &  task,
utility::graph::GraphCOP  packer_neighbor_graph,
basic::thread_manager::RosettaThreadAssignmentInfo const &  thread_assignments 
)

Compute and store the onebody energy for all rotamers at a position. Safe for a multithreaded context.

Requires that the number of states was already set.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org).

References add_to_nodes_one_body_energy(), num_ig_nodes_, and core::pack::interaction_graph::TR().

core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::set_state_for_node ( int  node_ind,
int  new_state 
)
overridepure virtual
void core::pack::interaction_graph::InteractionGraphBase::set_vertex_member_of_group ( int  vertex,
int  group 
)

a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.)

tell the graph which vertices you want to be part of which groups

Parameters
vertex- [in] - the index of the vertex you wish to include in the group group - [in] - the group index you wish to add the vertex to.
Global Read:
Global Write:
Remarks
References:
Author
apl

References energy_sum_group_membership_.

void core::pack::interaction_graph::InteractionGraphBase::update_one_body_energies ( ObjexxFCL::FArray1< core::PackerEnergy > &  old_energy1b,
ObjexxFCL::FArray1< core::PackerEnergy > &  new_energy1b 
)

decrements the one body energies by the values held in old_energy1b, increments the one body energies by the values held in new_energy1b, and copies new_energy1b into old_energy1b.

Parameters
old_energy1b- [in/out] - the one body energies representing interactions with portions of the background that are no longer valid new_energy1b - [in] - the one body energies representing interactions with the background after the background has changed
Global Read:
Global Write:
Remarks
useful if you want to move something in the background like a ligand. moving the background does not invalidate the two-body energies.
References:
Author
apl
bool core::pack::interaction_graph::InteractionGraphBase::vertex_already_reached ( int  node_index)

used by class NodeBase during the depth-first traversal to determine the number of connected components in the graph. returns true if the dft has already reached the node.

vertex_already_reached

Parameters
node_index- [in] - the index of the node calling the method.
Global Read:
Global Write:
Remarks
This method should be used by the NodeBase class only.
References:
Author
apl

References component_membership_.

Referenced by count_connected_components_and_initialize_vertex_groups(), and core::pack::interaction_graph::NodeBase::depth_first_connected_component_counting().

void core::pack::interaction_graph::InteractionGraphBase::zero_one_body_energies_for_node ( int  node)

References ig_nodes_.

Friends And Related Function Documentation

friend class EdgeBase
friend
friend class NodeBase
friend

Member Data Documentation

ObjexxFCL::FArray1D_int core::pack::interaction_graph::InteractionGraphBase::component_membership_
private
ObjexxFCL::FArray2D_bool core::pack::interaction_graph::InteractionGraphBase::energy_sum_group_membership_
private
EdgeBase* core::pack::interaction_graph::InteractionGraphBase::focused_edge_
mutableprivate

Referenced by add_edge(), drop_edge(), and find_edge().

std::list< EdgeBase * >::const_iterator core::pack::interaction_graph::InteractionGraphBase::focused_edge_iterator_
mutableprivate
std::list< EdgeBase * >::const_iterator core::pack::interaction_graph::InteractionGraphBase::focused_edge_iterator_end_
mutableprivate
std::list< EdgeBase* > core::pack::interaction_graph::InteractionGraphBase::ig_edge_list_
private
std::vector< NodeBase* > core::pack::interaction_graph::InteractionGraphBase::ig_nodes_
private
std::vector< int > core::pack::interaction_graph::InteractionGraphBase::node_state_offsets_
private

Referenced by get_node_state_offset().

int core::pack::interaction_graph::InteractionGraphBase::num_energy_sum_groups_
private
int core::pack::interaction_graph::InteractionGraphBase::num_ig_nodes_
private
int core::pack::interaction_graph::InteractionGraphBase::num_total_states_
private

Referenced by get_num_total_states().


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