Introduce plumbing for ObservablesReducer
[alexxy/gromacs.git] / src / gromacs / modularsimulator / propagator.h
index 631a98f133782fface5d4f07495e118585b1a6b1..02c32ede8371385893458435012aec5154b40268 100644 (file)
@@ -62,6 +62,7 @@ class GlobalCommunicationHelper;
 class LegacySimulatorData;
 class MDAtoms;
 class ModularSimulatorAlgorithmBuilderHelper;
+class ObservablesReducer;
 class StatePropagatorData;
 
 //! \addtogroup module_modularsimulator
@@ -178,7 +179,8 @@ public:
      * \param statePropagatorData  Pointer to the \c StatePropagatorData object
      * \param energyData  Pointer to the \c EnergyData object
      * \param freeEnergyPerturbationData  Pointer to the \c FreeEnergyPerturbationData object
-     * \param globalCommunicationHelper  Pointer to the \c GlobalCommunicationHelper object
+     * \param globalCommunicationHelper   Pointer to the \c GlobalCommunicationHelper object
+     * \param observablesReducer          Pointer to the \c ObservablesReducer object
      * \param propagatorTag  The name of the propagator to simplify connection
      * \param timestep  The time step the propagator uses
      *
@@ -190,6 +192,7 @@ public:
                                                     EnergyData*                 energyData,
                                                     FreeEnergyPerturbationData* freeEnergyPerturbationData,
                                                     GlobalCommunicationHelper* globalCommunicationHelper,
+                                                    ObservablesReducer*        observablesReducer,
                                                     const PropagatorTag&       propagatorTag,
                                                     TimeStep                   timestep);
 
@@ -202,7 +205,8 @@ public:
      * \param statePropagatorData  Pointer to the \c StatePropagatorData object
      * \param energyData  Pointer to the \c EnergyData object
      * \param freeEnergyPerturbationData  Pointer to the \c FreeEnergyPerturbationData object
-     * \param globalCommunicationHelper  Pointer to the \c GlobalCommunicationHelper object
+     * \param globalCommunicationHelper   Pointer to the \c GlobalCommunicationHelper object
+     * \param observablesReducer          Pointer to the \c ObservablesReducer object
      * \param propagatorTag  The name of the propagator to simplify connection
      *
      * \return  Pointer to the element to be added. Element needs to have been stored using \c storeElement
@@ -213,6 +217,7 @@ public:
                                                     EnergyData*                 energyData,
                                                     FreeEnergyPerturbationData* freeEnergyPerturbationData,
                                                     GlobalCommunicationHelper* globalCommunicationHelper,
+                                                    ObservablesReducer*        observablesReducer,
                                                     const PropagatorTag&       propagatorTag);
 
 private: