EXPLORE: consolidate orbitlist on the python and c++ side
- Currently the
cs.orbit_list
andcs._get_orbit_list()
are anOrbitList
object and_OrbitList
object respectively. If you make a change in one of them you do not make a change to the other. - If you add functionality to the
OrbitList
class in the python module it will not transfer to_OrbitList
Example
>>> cs = ClusterSpace(....)
>>> ol = cs.orbit_list
>>> ol._remove_orbit(10)
>>> ol_cpp = cs._get_orbit_list()
>>> len(ol) == len(ol_cpp)
False
Possible fix
Remove everything in the OrbitList
module except for the constructor parts and keep functionality via PyBind
and change cs.orbit_list
to return cs_get_orbit_list()
Subtasks
-
Explore if a consolidation is possible
cc @erhart
Edited by Paul Erhart