Rmove dependency on Constraints object from compute_globals(...)
[alexxy/gromacs.git] / src / gromacs / mdlib / stat.h
index d69d5ceaef0240f92d64e1361e87d6d02e268ef2..d3cf97713abce87ee2e31c8095b5926a31d7ba78 100644 (file)
@@ -4,7 +4,7 @@
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
  * Copyright (c) 2013,2014,2015,2016,2017 by the GROMACS development team.
- * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
+ * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -49,8 +49,10 @@ struct t_commrec;
 
 namespace gmx
 {
+template<typename T>
+class ArrayRef;
 class Constraints;
-}
+} // namespace gmx
 
 typedef struct gmx_global_stat* gmx_global_stat_t;
 
@@ -59,20 +61,20 @@ gmx_global_stat_t global_stat_init(const t_inputrec* ir);
 void global_stat_destroy(gmx_global_stat_t gs);
 
 /*! \brief All-reduce energy-like quantities over cr->mpi_comm_mysim  */
-void global_stat(const gmx_global_stat*  gs,
-                 const t_commrec*        cr,
-                 gmx_enerdata_t*         enerd,
-                 tensor                  fvir,
-                 tensor                  svir,
-                 const t_inputrec*       inputrec,
-                 gmx_ekindata_t*         ekind,
-                 const gmx::Constraints* constr,
-                 t_vcm*                  vcm,
-                 int                     nsig,
-                 real*                   sig,
-                 int*                    totalNumberOfBondedInteractions,
-                 bool                    bSumEkinhOld,
-                 int                     flags);
+void global_stat(const gmx_global_stat* gs,
+                 const t_commrec*       cr,
+                 gmx_enerdata_t*        enerd,
+                 tensor                 fvir,
+                 tensor                 svir,
+                 const t_inputrec*      inputrec,
+                 gmx_ekindata_t*        ekind,
+                 gmx::ArrayRef<real>    constraintsRmsdData,
+                 t_vcm*                 vcm,
+                 int                    nsig,
+                 real*                  sig,
+                 int*                   totalNumberOfBondedInteractions,
+                 bool                   bSumEkinhOld,
+                 int                    flags);
 
 /*! \brief Returns TRUE if io should be done */
 inline bool do_per_step(int64_t step, int64_t nstep)