template<class FrameReader>
class gmx::test::anonymous_namespace{exactcontinuation.cpp}::ContinuationFramePairManager< FrameReader >
Manages comparing a pair of matching energy frames from a normal run and the same run in two parts.
The passed frame readers must contain logically equivalent contents, with no extra or missing frames from either the one- or two-part run.
- Todo:
- This class has a similar interface with one in mdcomparison.h, but not enough to warrant extracting an interface class. Perhaps parts of this should be cast as a class that returns iterators to successive frames, so that the fancy footwork for pretending a two-part run is one sequence is separate from the comparison of that sequene with that of the one-part run?
- Template Parameters
-
FrameReader | Has readNextFrame() and frame() methods useful for returning successive Frame objects |
template<class FrameReader >
Probe for a pair of valid frames, and return true if both are found.
Gives a test failure if exactly one frame is found, because it is an error for either run to have missing or extra frames. Note that the frame where the two-part run ends and begins is duplicated between the two output files by mdrun, and the test accommodates this.
- Todo:
- This would be straightforward if velocity Verlet behaved like other integrators.