Merge pull request #1005 from RosettaCommons/rfalford12/revise_memb_etable
Similar to the LK term for soluble proteins, the Lazaridis membrane solvation energy relies on an Etable. The membrane etable, called MembEtable, was originally implemented as a copy of Etable, creating several unused variables and redundant declarations of constants (amonst other challenges). I'm working on a new membrane solvation energy that requires modifying this class, so now is a good time for this refactoring.
In this version, MembEtable is a subclass of Etable (previously, MembEtable inherited from Etable but never took advantage of this hierarchy). Below is a summary of the adjustments:
No duplicate private members (constants) between Etable and MembEtable
Private members of Etable are accessed in MembEtable through getters (added necessary getters)
Customizable functions (e.g. solv1, dsolv1) are now virtual in Etable
Removed extraneous comments, commented out blocks of code
I also cleaned up the Etable - several of the private member variables were named without a trailing underscore which collides when you declare an accessor for it.
Unit & Integration Test Changes:
= Cpp Check errors complain 3D Farrays not initialized in the constructor, really they are just not initialized in the initialization list but in the body of the constructor
= Integration & profile test failures existed before this pull request