Follow up to "Separate StatePropagatorData element" (!363)
StatePropagatorData, EnergyData, and FreeEnergyPerturbationData
have all been separated into a pure data class and an Element
member object. The three were intended to be following the same
design principles, but were merged in three separate MR. The
design was improved in reviews of the EnergyData and
FreeEnergyPerturbationData MRs, leaving StatePropagatorData
with some of the design flaws ironed out in the other two.
This commit adapts StatepropagatorData and its member Element
to the improved design. Specifically:
* Build the Element in the constructor of StatepropagatorData.
To this end, the change in signature of the constructor is
partially rolled back to have all required data available.
* The element is accessed using a simple getter method, doing
away with building at first invocation or throwing exceptions
when accessed more than once.