Merge pull request #3008 from RosettaCommons/JackMaguire/MCHBNetCorrection
(MC HBNet) Cleaning up my own development mess
While developing MC HBNet, I created a set of graph classes:
- HBondGraph: Stores hbond info between rotamers at a residue-residue level
- AtomLevelHBondGraph: Stores hbond info between rotamers at an atomic level (nodes are still rotamers but each edge contains info about the atoms that participate in hbonds)
- LKAtomLevelHBondGraph: Similar to AtomLevelHBondGraph but contains extra info for bridging waters.
- AbstractHBondGraph: base class for all of these graphs.
It turns out that this polymorphism is completely unnecessary. AtomLevelHBondGraph is the only one that is used anywhere in Rosetta and there is not enough extra info required for bridging waters to require a new class. LKAtomLevelHBondGraph never made it into master but the other 3 did. The goal of this PR is to wipe out HBondGraph and AbstractHBondGraph leaving only AtomLevelHBondGraph. Most of the changes in this PR are erasing the traces of HBondGraph and AbstractHBondGraph
I also am using this PR to do a bit of housekeeping:
- commented out a few unused `#include`s in HBNet.cc and sorted the remainders to make it easier to read (mostly my fault because I originally put all of the MC HBNet `#include`s in their own section).
- Added a `boost::unordered_object_pool` for AtomLevelHBondNode creation.