Follow up to "Separate StatePropagatorData element" (!363)
commit15d6779a3d07116950ac65f55ca39fe222831bb7
authorPascal Merz <pascal.merz@me.com>
Sat, 18 Jul 2020 06:27:10 +0000 (18 06:27 +0000)
committerMark Abraham <mark.j.abraham@gmail.com>
Sat, 18 Jul 2020 06:27:10 +0000 (18 06:27 +0000)
tree9faa8dd87a7e98b23fc2f318a880dee3ca48d48d
parent612dec384851c2ce6b1660c7fa41f4163ed0ce9f
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.
src/gromacs/modularsimulator/modularsimulator.cpp
src/gromacs/modularsimulator/simulatoralgorithm.cpp
src/gromacs/modularsimulator/statepropagatordata.cpp
src/gromacs/modularsimulator/statepropagatordata.h