Use ObservablesReducer for check of DD bonded interaction count.
[alexxy/gromacs.git] / src / gromacs / mdrun / simulatorbuilder.h
index 5ab848fa808e9edc55752b32abe28bd984376fbc..787dc721d17d4a7009563d0c7746eab98ee7cc2c 100644 (file)
@@ -48,6 +48,7 @@ class energyhistory_t;
 class gmx_ekindata_t;
 struct gmx_enerdata_t;
 struct gmx_enfrot;
+struct gmx_localtop_t;
 struct gmx_mtop_t;
 struct gmx_multisim_t;
 struct gmx_output_env_t;
@@ -117,10 +118,12 @@ struct SimulatorStateData
 {
     //! Build collection of current state data.
     SimulatorStateData(t_state*            globalState,
+                       t_state*            localState,
                        ObservablesHistory* observablesHistory,
                        gmx_enerdata_t*     enerdata,
                        gmx_ekindata_t*     ekindata) :
         globalState_p(globalState),
+        localState_p(localState),
         observablesHistory_p(observablesHistory),
         enerdata_p(enerdata),
         ekindata_p(ekindata)
@@ -132,6 +135,8 @@ struct SimulatorStateData
 
     //! Handle to global state of the simulation.
     t_state* globalState_p;
+    //! Handle to local state of the simulation.
+    t_state* localState_p;
     //! Handle to current simulation history.
     ObservablesHistory* observablesHistory_p;
     //! Handle to collected data for energy groups.
@@ -295,13 +300,15 @@ class TopologyData
 {
 public:
     //! Build collection from simulation data.
-    TopologyData(const gmx_mtop_t& globalTopology, MDAtoms* mdAtoms) :
-        top_global(globalTopology), mdAtoms(mdAtoms)
+    TopologyData(const gmx_mtop_t& globalTopology, gmx_localtop_t* localTopology, MDAtoms* mdAtoms) :
+        top_global(globalTopology), localTopology(localTopology), mdAtoms(mdAtoms)
     {
     }
 
     //! Handle to global simulation topology.
     const gmx_mtop_t& top_global;
+    //! Handle to local simulation topology.
+    gmx_localtop_t* localTopology;
     //! Handle to information about MDAtoms.
     MDAtoms* mdAtoms;
 };