Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::flexpack::interaction_graph::FlexbbEdge Class Reference

#include <FlexbbInteractionGraph.hh>

Inheritance diagram for protocols::flexpack::interaction_graph::FlexbbEdge:
Inheritance graph
[legend]

Public Types

typedef
core::pack::interaction_graph::EdgeBase 
parent
 
typedef core::PackerEnergy PackerEnergy
 
typedef core::Real Real
 
typedef core::Size Size
 

Public Member Functions

 FlexbbEdge (FlexbbInteractionGraph *owner, int first_node_ind, int second_node_ind)
 
 ~FlexbbEdge () override
 
bool get_nodes_from_same_flexseg () const
 
void set_alt_state (int node_index, int new_state, FlexbbSparseMatrixIndex const &state_info)
 Called by FlexbbNode in prepare_for_bb_jump: Edges must know the alternate states that nodes are considering. Precondition: alt_state_ for a fixed node must match its cur_state_. More...
 
void acknowledge_partial_state_assignment (int node_index, int new_state, FlexbbSparseMatrixIndex const &state_info)
 
void note_state_substitution_accepted ()
 Copy alt data to current data after a state substitution. More...
 
void reset_alternate_states_for_uncommited_substitution ()
 After a rejected state substitution, the FlexbbNode will call this function to reset the alt_state data to establish the invariant that the alternate state held on the flexbb edges reflect the the current state of those nodes not considering a state substitution. More...
 
unsigned int count_dynamic_memory () const override
 
PackerEnergy cur_energy () const
 
PackerEnergy alt_energy () const
 
- Public Member Functions inherited from core::pack::interaction_graph::EdgeBase
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...
 
NodeBaseget_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
 
Real edge_weight () const
 
virtual void set_edge_weight (Real weight)=0
 
bool marked_for_deletion () const
 Has this edge indicated that it can be deleted? More...
 
InteractionGraphBase const * get_owner () const
 
InteractionGraphBaseget_owner ()
 

Protected Member Functions

FlexbbNode const * get_flexbb_node (int index) const
 
FlexbbNodeget_flexbb_node (int index)
 
FlexbbInteractionGraph const * get_flexbbig_owner () const
 
FlexbbInteractionGraphget_flexbbig_owner ()
 
int num_bb (int node)
 
bool nodes_part_of_same_flexseg () const
 
bool nodes_considering_bb_move () const
 
void set_nodes_considering_bb_move (bool status)
 
int nodes_cur_state (int node) const
 
FlexbbSparseMatrixIndex const & nodes_cur_info (int node) const
 
int nodes_alt_state (int node) const
 
FlexbbSparseMatrixIndex const & nodes_alt_info (int node) const
 
bool alt_e_up_to_date () const
 
void set_nodes_cur_state (int node, int setting)
 Set the currently assigned state for a node; node == 0 || 1. More...
 
void set_nodes_cur_info (int node, FlexbbSparseMatrixIndex const &setting)
 
void set_nodes_alt_state (int node, int setting)
 Set the altnernate state being considered for a node; node == 0 || 1. More...
 
void set_nodes_alt_info (int node, FlexbbSparseMatrixIndex const &setting)
 
void set_cur_energy (PackerEnergy setting)
 
void set_alt_energy (PackerEnergy setting)
 
void copy_alternate_to_current ()
 
void set_node_state_to_zero (int which_node)
 
- Protected Member Functions inherited from core::pack::interaction_graph::EdgeBase
void mark_edge_for_deletion ()
 Mark this edge so that it can be deleted. More...
 
int get_node_index (int index) const
 
int get_num_states_for_node (int index) const
 
NodeBase const * get_node (int index) const
 
NodeBaseget_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

 FlexbbEdge ()
 
 FlexbbEdge (FlexbbEdge const &)
 

Private Attributes

bool const nodes_part_of_same_flexseg_
 
int nodes_num_bb_ [2]
 
int nodes_cur_state_ [2]
 
FlexbbSparseMatrixIndex nodes_cur_info_ [2]
 
int nodes_alt_state_ [2]
 
FlexbbSparseMatrixIndex nodes_alt_info_ [2]
 
PackerEnergy cur_energy_
 
PackerEnergy alt_energy_
 
bool alt_e_up_to_date_
 
bool nodes_considering_bb_move_
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::flexpack::interaction_graph::FlexbbEdge::FlexbbEdge ( FlexbbInteractionGraph owner,
int  first_node_ind,
int  second_node_ind 
)
protocols::flexpack::interaction_graph::FlexbbEdge::~FlexbbEdge ( )
overridedefault
protocols::flexpack::interaction_graph::FlexbbEdge::FlexbbEdge ( )
private
protocols::flexpack::interaction_graph::FlexbbEdge::FlexbbEdge ( FlexbbEdge const &  )
private

Member Function Documentation

void protocols::flexpack::interaction_graph::FlexbbEdge::acknowledge_partial_state_assignment ( int  node_index,
int  new_state,
FlexbbSparseMatrixIndex const &  state_info 
)
bool protocols::flexpack::interaction_graph::FlexbbEdge::alt_e_up_to_date ( ) const
inlineprotected
PackerEnergy protocols::flexpack::interaction_graph::FlexbbEdge::alt_energy ( ) const
inline
void protocols::flexpack::interaction_graph::FlexbbEdge::copy_alternate_to_current ( )
protected
unsigned int protocols::flexpack::interaction_graph::FlexbbEdge::count_dynamic_memory ( ) const
overridevirtual
PackerEnergy protocols::flexpack::interaction_graph::FlexbbEdge::cur_energy ( ) const
inline
FlexbbNode const* protocols::flexpack::interaction_graph::FlexbbEdge::get_flexbb_node ( int  index) const
inlineprotected
FlexbbNode* protocols::flexpack::interaction_graph::FlexbbEdge::get_flexbb_node ( int  index)
inlineprotected
FlexbbInteractionGraph const * protocols::flexpack::interaction_graph::FlexbbEdge::get_flexbbig_owner ( ) const
inlineprotected
FlexbbInteractionGraph * protocols::flexpack::interaction_graph::FlexbbEdge::get_flexbbig_owner ( )
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbEdge::get_nodes_from_same_flexseg ( ) const
inline
FlexbbSparseMatrixIndex const& protocols::flexpack::interaction_graph::FlexbbEdge::nodes_alt_info ( int  node) const
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbEdge::nodes_alt_state ( int  node) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbEdge::nodes_considering_bb_move ( ) const
inlineprotected
FlexbbSparseMatrixIndex const& protocols::flexpack::interaction_graph::FlexbbEdge::nodes_cur_info ( int  node) const
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbEdge::nodes_cur_state ( int  node) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbEdge::nodes_part_of_same_flexseg ( ) const
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbEdge::note_state_substitution_accepted ( )
int protocols::flexpack::interaction_graph::FlexbbEdge::num_bb ( int  node)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbEdge::reset_alternate_states_for_uncommited_substitution ( )

After a rejected state substitution, the FlexbbNode will call this function to reset the alt_state data to establish the invariant that the alternate state held on the flexbb edges reflect the the current state of those nodes not considering a state substitution.

References alt_e_up_to_date_, alt_energy_, cur_energy_, nodes_alt_info_, nodes_alt_state_, nodes_considering_bb_move_, nodes_cur_info_, and nodes_cur_state_.

Referenced by protocols::flexpack::interaction_graph::FlexbbNode::inform_edges_considered_fixedbb_substition_uncommitted(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::resolve_uncommitted_substitution().

void protocols::flexpack::interaction_graph::FlexbbEdge::set_alt_energy ( PackerEnergy  setting)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbEdge::set_alt_state ( int  node_index,
int  alternate_state,
FlexbbSparseMatrixIndex const &  alt_state_info 
)

Called by FlexbbNode in prepare_for_bb_jump: Edges must know the alternate states that nodes are considering. Precondition: alt_state_ for a fixed node must match its cur_state_.

during backbone-moving rotamer substitutions, the nodes on flexible segments must inform their edges of their new states.

References alt_e_up_to_date_, protocols::flexpack::interaction_graph::FlexbbSparseMatrixIndex::get_bb(), nodes_alt_info_, nodes_alt_state_, nodes_considering_bb_move_, nodes_cur_info_, nodes_cur_state_, nodes_part_of_same_flexseg_, and core::pack::interaction_graph::EdgeBase::which_node().

Referenced by protocols::flexpack::interaction_graph::FlexbbNode::inform_edges_of_alt_state_before_bbjump(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().

void protocols::flexpack::interaction_graph::FlexbbEdge::set_cur_energy ( PackerEnergy  setting)
inlineprotected

References cur_energy_.

void protocols::flexpack::interaction_graph::FlexbbEdge::set_node_state_to_zero ( int  which_node)
protected
void protocols::flexpack::interaction_graph::FlexbbEdge::set_nodes_alt_info ( int  node,
FlexbbSparseMatrixIndex const &  setting 
)
inlineprotected

References nodes_alt_info_.

void protocols::flexpack::interaction_graph::FlexbbEdge::set_nodes_alt_state ( int  node,
int  setting 
)
inlineprotected

Set the altnernate state being considered for a node; node == 0 || 1.

References nodes_alt_state_.

void protocols::flexpack::interaction_graph::FlexbbEdge::set_nodes_considering_bb_move ( bool  status)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbEdge::set_nodes_cur_info ( int  node,
FlexbbSparseMatrixIndex const &  setting 
)
inlineprotected

References nodes_cur_info_.

void protocols::flexpack::interaction_graph::FlexbbEdge::set_nodes_cur_state ( int  node,
int  setting 
)
inlineprotected

Set the currently assigned state for a node; node == 0 || 1.

References nodes_cur_state_.

Member Data Documentation

bool protocols::flexpack::interaction_graph::FlexbbEdge::alt_e_up_to_date_
private
PackerEnergy protocols::flexpack::interaction_graph::FlexbbEdge::alt_energy_
private
PackerEnergy protocols::flexpack::interaction_graph::FlexbbEdge::cur_energy_
private
FlexbbSparseMatrixIndex protocols::flexpack::interaction_graph::FlexbbEdge::nodes_alt_info_[2]
private
int protocols::flexpack::interaction_graph::FlexbbEdge::nodes_alt_state_[2]
private
bool protocols::flexpack::interaction_graph::FlexbbEdge::nodes_considering_bb_move_
private
FlexbbSparseMatrixIndex protocols::flexpack::interaction_graph::FlexbbEdge::nodes_cur_info_[2]
private
int protocols::flexpack::interaction_graph::FlexbbEdge::nodes_cur_state_[2]
private
int protocols::flexpack::interaction_graph::FlexbbEdge::nodes_num_bb_[2]
private

Referenced by FlexbbEdge(), and num_bb().

bool const protocols::flexpack::interaction_graph::FlexbbEdge::nodes_part_of_same_flexseg_
private

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