Gromacs
2024.3
|
#include <gromacs/analysisdata/modules/plot.h>
Plotting module specifically for data consisting of vectors.
See AbstractPlotModule for common plotting options.
Public Types | |
enum | Flag { efAllowMultipoint = 1 << 0, efOnlyMultipoint = 1 << 1, efAllowMulticolumn = 1 << 2, efAllowMissing = 1 << 3, efAllowMultipleDataSets = 1 << 4 } |
Possible flags for flags(). More... | |
Public Member Functions | |
AnalysisDataVectorPlotModule (const AnalysisDataPlotSettings &settings) | |
Creates AnalysisDataVectorPlotModule and assign common settings. | |
void | setWriteX (bool bWrite) |
Set whether to write X component. | |
void | setWriteY (bool bWrite) |
Set whether to write Y component. | |
void | setWriteZ (bool bWrite) |
Set whether to write Z component. | |
void | setWriteNorm (bool bWrite) |
Set whether to write norm of the vector. | |
void | setWriteMask (const bool bWrite[4]) |
Set mask for what to write. | |
void | pointsAdded (const AnalysisDataPointSetRef &points) override |
Called one or more times during each data frame. More... | |
void | setSettings (const AnalysisDataPlotSettings &settings) |
Set common settings for the plotting. | |
void | setFileName (const std::string &filename) |
Set the output file name. More... | |
void | setPlainOutput (bool bPlain) |
Set plain output. More... | |
void | setErrorsAsSeparateColumn (bool bSeparate) |
Plot errors as a separate output column after each value column. | |
void | setOmitX (bool bOmitX) |
Omit the X coordinates from the output. More... | |
void | setTitle (const char *title) |
Set plot title. | |
void | setTitle (const std::string &title) |
Set plot title. More... | |
void | setSubtitle (const char *subtitle) |
Set plot subtitle. | |
void | setSubtitle (const std::string &subtitle) |
Set plot subtitle. More... | |
void | setXLabel (const char *label) |
Set X axis label. | |
void | setXAxisIsTime () |
Treat X axis as time. More... | |
void | setYLabel (const char *label) |
Set Y axis label. | |
void | setLegend (int nsets, const char *const *setname) |
Add legend from an array of strings. More... | |
void | appendLegend (const char *setname) |
Add a legend string for the next data set. More... | |
void | appendLegend (const std::string &setname) |
Add a legend string for the next data set. More... | |
void | setXFormat (int width, int precision, char format= 'f') |
Set field width and precision for X value output. | |
void | setYFormat (int width, int precision, char format= 'f') |
Set field width and precision for Y value output. | |
int | flags () const override |
Returns properties supported by the module. More... | |
void | dataStarted (AbstractAnalysisData *data) override |
Called (once) when the data has been set up properly. More... | |
void | frameStarted (const AnalysisDataFrameHeader &header) override |
Called at the start of each data frame. More... | |
void | frameFinished (const AnalysisDataFrameHeader &header) override |
Called when a data frame is finished. More... | |
void | dataFinished () override |
Called (once) when no more data is available. More... | |
Protected Member Functions | |
bool | isFileOpen () const |
Whether an output file has been opened. | |
void | writeValue (const AnalysisDataValue &value) const |
Appends a single value to the current output line. More... | |
|
inherited |
Possible flags for flags().
|
inherited |
Add a legend string for the next data set.
Multiple calls to setLegend() and/or appendLegend() are added together.
|
inherited |
Add a legend string for the next data set.
Multiple calls to setLegend() and/or appendLegend() are added together.
|
overridevirtualinherited |
Called (once) when no more data is available.
unspecified | Can throw any exception required by the implementing class to report errors. |
Implements gmx::AnalysisDataModuleSerial.
|
overridevirtualinherited |
Called (once) when the data has been set up properly.
[in] | data | Data object to which the module is added. |
APIError | if the provided data is not compatible. |
unspecified | Can throw any exception required by the implementing class to report errors. |
When the data is ready, either this method or parallelDataStarted() is called, depending on the nature of the input data. If this method is called, the input data will always present the frames in sequential order.
The data to which the module is attached is passed as an argument to provide access to properties of the data for initialization and/or validation. The module can also call AbstractAnalysisData::requestStorage() if needed.
This is the only place where the module gets access to the data; if properties of the data are required later, the module should store them internally. It is guaranteed that the data properties (column count, whether it's multipoint) do not change once this method has been called.
Notice that data
will be a proxy object if the module is added as a column module, not the data object for which AbstractAnalysisData::addColumnModule() was called.
Implements gmx::AnalysisDataModuleSerial.
|
overridevirtualinherited |
Returns properties supported by the module.
The return value of this method should not change after the module has been added to a data (this responsibility can, and in most cases must, be delegated to the user of the module).
The purpose of this method is to remove the need for common checks for data compatibility in the classes that implement the interface. Instead, AbstractAnalysisData performs these checks based on the flags provided.
Does not throw.
Implements gmx::AnalysisDataModuleSerial.
|
overridevirtualinherited |
Called when a data frame is finished.
[in] | header | Header information for the frame that is ending. |
unspecified | Can throw any exception required by the implementing class to report errors. |
Implements gmx::AnalysisDataModuleSerial.
|
overridevirtualinherited |
Called at the start of each data frame.
[in] | frame | Header information for the frame that is starting. |
unspecified | Can throw any exception required by the implementing class to report errors. |
Implements gmx::AnalysisDataModuleSerial.
|
overridevirtual |
Called one or more times during each data frame.
[in] | points | Set of points added (also provides access to frame-level data). |
APIError | if the provided data is not compatible. |
unspecified | Can throw any exception required by the implementing class to report errors. |
Can be called once or multiple times for a frame. For all data objects currently implemented in the library (and all objects that will use AnalysisDataStorage for internal implementation), it is called exactly once for each frame if the data is not multipoint, but currently this restriction is not enforced.
Implements gmx::AbstractPlotModule.
|
inherited |
Set the output file name.
If no file name is set (or if filename
is empty), no output occurs.
|
inherited |
Add legend from an array of strings.
Multiple calls to setLegend() and/or appendLegend() are added together.
|
inherited |
Omit the X coordinates from the output.
This method only makes sense when combined with setPlainOutput().
|
inherited |
Set plain output.
If bPlain
is true, no xvgr headers are written to the file. In this case, only setOmitX(), setXFormat(), and setYFormat() methods have any effect on the output.
|
inherited |
Set plot subtitle.
|
inherited |
Set plot title.
|
inherited |
Treat X axis as time.
Sets the label for the axis accordingly and also scales output to take into account the correct time unit.
|
protectedinherited |
Appends a single value to the current output line.
[in] | value | Value to append. |
Should be used from pointsAdded() implementations in derived classes to write out individual y values to the output.
Must not be called if isFileOpen() returns false.