Gromacs  2026.0-dev-20241213-9ac17bb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule Class Reference
+ Inheritance diagram for gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule:
+ Collaboration diagram for gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule:

Description

Data module for writing index files.

Public Member Functions

void setFileName (const std::string &fnm)
 Sets the file name to write the index file to.
 
void addGroup (const std::string &name, bool bDynamic)
 Adds information about a group to be printed. More...
 
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 pointsAdded (const AnalysisDataPointSetRef &points) override
 Called one or more times during 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...
 

Additional Inherited Members

- Public Types inherited from gmx::IAnalysisDataModule
enum  Flag {
  efAllowMultipoint = 1 << 0, efOnlyMultipoint = 1 << 1, efAllowMulticolumn = 1 << 2, efAllowMissing = 1 << 3,
  efAllowMultipleDataSets = 1 << 4
}
 Possible flags for flags(). More...
 

Member Function Documentation

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::addGroup ( const std::string &  name,
bool  bDynamic 
)

Adds information about a group to be printed.

Must be called for each group present in the input data.

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::dataFinished ( )
overridevirtual

Called (once) when no more data is available.

Exceptions
unspecifiedCan throw any exception required by the implementing class to report errors.

Implements gmx::AnalysisDataModuleSerial.

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::dataStarted ( AbstractAnalysisData data)
overridevirtual

Called (once) when the data has been set up properly.

Parameters
[in]dataData object to which the module is added.
Exceptions
APIErrorif the provided data is not compatible.
unspecifiedCan 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.

int gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::flags ( ) const
overridevirtual

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.

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::frameFinished ( const AnalysisDataFrameHeader header)
overridevirtual

Called when a data frame is finished.

Parameters
[in]headerHeader information for the frame that is ending.
Exceptions
unspecifiedCan throw any exception required by the implementing class to report errors.

Implements gmx::AnalysisDataModuleSerial.

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::frameStarted ( const AnalysisDataFrameHeader frame)
overridevirtual

Called at the start of each data frame.

Parameters
[in]frameHeader information for the frame that is starting.
Exceptions
unspecifiedCan throw any exception required by the implementing class to report errors.

Implements gmx::AnalysisDataModuleSerial.

void gmx::analysismodules::anonymous_namespace{select.cpp}::IndexFileWriterModule::pointsAdded ( const AnalysisDataPointSetRef points)
overridevirtual

Called one or more times during each data frame.

Parameters
[in]pointsSet of points added (also provides access to frame-level data).
Exceptions
APIErrorif the provided data is not compatible.
unspecifiedCan 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::AnalysisDataModuleSerial.


The documentation for this class was generated from the following file: