Defines a HPatch Edge which connects two first-class HPatch Nodes. Edges have to keep some state so that updates to SASA and the hpatch score can be done fast.
More...
|
| HPatchEdge (G *owner, int node1, int node2) |
| main constructor. No default, or copy constructors, no assignment operator More...
|
|
virtual | ~HPatchEdge () |
|
virtual void | prepare_for_simulated_annealing () |
| drops zero submatrices of the AminoAcidNeighborSparseMatrix and if the two_body_energies_ member then holds nothing, it checks whether or not its incident nodes have any sphere overlaps. If they don't then the edge deletes itself. More...
|
|
void | acknowledge_state_zeroed (int node_index) |
| respond to when one of its vertices enters the "unassigned" state. More...
|
|
Real | update_state_at_neighbor (int node_considering_substitution, int alt_state, RotamerDots &alt_state_dots) |
| returns the change in sasa for the neighbor of a node that is produced by the state substitution it is considering. More...
|
|
void | acknowledge_substitution () |
| bookkeeping following the decision to substitute a nodes current state with the alternate it was asked to consider. More...
|
|
utility::vector1
< utility::vector1< bool >
> const & | get_current_state_atom_atom_overlaps () const |
| Returns a const reference to the atom-x-atom-pair vector-of-vectors of bools that specifies which atoms are overlapping, assuming the current state assignment. More...
|
|
utility::vector1
< utility::vector1< bool >
> const & | get_alt_state_atom_atom_overlaps () const |
| Returns a const reference to the atom-x-atom-pair vector-of-vectors of bools that specifies which atoms are overlapping, assuming the alternate state assignment. More...
|
|
virtual void | declare_energies_final () |
| 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 |
|
virtual unsigned int | count_static_memory () const |
|
virtual unsigned int | count_dynamic_memory () const |
|
Real | get_current_two_body_energy () const |
|
virtual | ~FirstClassEdge () |
| FirstClassEdge destructor. More...
|
|
| FirstClassEdge (G *owner, int first_node_ind, int second_node_ind) |
| FirstClassEdge constructor. More...
|
|
template<typename V, typename E, typename G>
class core::pack::interaction_graph::HPatchEdge< V, E, G >
Defines a HPatch Edge which connects two first-class HPatch Nodes. Edges have to keep some state so that updates to SASA and the hpatch score can be done fast.
HPatchEdge
template<typename V , typename E , typename G >
Reduces memory usage in the two body energy table after the energy calculating function declares that the energies will not change thereafter.
HPatchEdge::declare_energies_final
A HPatchEdge should not delete itself if the pair energies are all zero since the Minkowski sum of a water and a van der Waal's sphere extends further out from an atoms center than its (lj_atr, lj_rep, lksolv) interaction sphere. However, if a HPatchEdge holds no pair energies, it's a very good candidate for removal – it just first needs to check that no (vdw + 1.4 A) spheres overlap between any pair of rotamers on the edges it connects.
template<typename V , typename E , typename G >
returns the change in sasa for the neighbor of a node that is produced by the state substitution it is considering.
HPatchEdge::update_state_at_neighbor
- Detailed:
- Very complicated. See HPatchNode::project_deltaE_for_neighbors_state_sub This edge collects cached sphere overlaps and hands this cached data to the node that is not considering the state substitution. That node computes more sphere overlaps and returns a delta sasa; this method then passes that delta sasa along.
See more comments inline.
- Parameters
-
changing_node_alt_state_dots | - [in] - the RotamerDots object for the alternate state at the changing Node |
References core::pack::interaction_graph::RotamerDots::get_num_atoms(), and core::io::serialization::size().