Use frame objects in AnalysisDataModuleInterface.
authorTeemu Murtola <teemu.murtola@gmail.com>
Mon, 26 Dec 2011 07:17:59 +0000 (09:17 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Wed, 22 Feb 2012 05:37:57 +0000 (07:37 +0200)
commit9f69942da4cc1fbfddac7f868fc99684af9a4534
treece4a9a7125c5ee409cc57f24315594e68e3ead13
parentb33d31b15c97f034112a4a2b5866a987b6ca2056
Use frame objects in AnalysisDataModuleInterface.

Instead of passing raw pointers to the internal data in the public
interface, use wrapper objects where the individual values are accessed
through accessor methods.  This makes it easier and more flexible to
change the internal data representation without any code changes in
classes implementing this interface (recompilation may be necessary
because of inlined functions, though).  Similarly, it is easier to
add/change information that is passed through the interface without
touching existing code.

Also added some additional documentation for functors used in analysis
data unit tests.

Part of issue #827.

Change-Id: I08d5b9719c0a14040c3172de39c8620d870382af
25 files changed:
src/gromacs/analysisdata.h
src/gromacs/analysisdata/CMakeLists.txt
src/gromacs/analysisdata/abstractdata-impl.h
src/gromacs/analysisdata/abstractdata.cpp
src/gromacs/analysisdata/abstractdata.h
src/gromacs/analysisdata/analysisdata.cpp
src/gromacs/analysisdata/arraydata.cpp
src/gromacs/analysisdata/dataframe.cpp [new file with mode: 0644]
src/gromacs/analysisdata/dataframe.h [new file with mode: 0644]
src/gromacs/analysisdata/datamodule.h
src/gromacs/analysisdata/dataproxy.cpp
src/gromacs/analysisdata/dataproxy.h
src/gromacs/analysisdata/modules/average.cpp
src/gromacs/analysisdata/modules/average.h
src/gromacs/analysisdata/modules/displacement.cpp
src/gromacs/analysisdata/modules/displacement.h
src/gromacs/analysisdata/modules/histogram-impl.h
src/gromacs/analysisdata/modules/histogram.cpp
src/gromacs/analysisdata/modules/histogram.h
src/gromacs/analysisdata/modules/plot.cpp
src/gromacs/analysisdata/modules/plot.h
src/gromacs/analysisdata/tests/mock_module-impl.h
src/gromacs/analysisdata/tests/mock_module.cpp
src/gromacs/analysisdata/tests/mock_module.h
src/gromacs/trajectoryanalysis/modules/select.cpp