@@ -1102,6 +1102,44 @@ def reset(self) -> None:
11021102 self ._num_accepted_insertions = 0
11031103 self ._num_accepted_deletions = 0
11041104
1105+ def restore_stats (self , stats : dict ) -> None :
1106+ """
1107+ Restore sampler statistics from a dictionary.
1108+
1109+ Parameters
1110+ ----------
1111+
1112+ stats : dict
1113+ Dictionary of sampler statistics as returned by ``get_stats()``.
1114+ """
1115+ self ._num_moves = stats ["num_moves" ]
1116+ self ._num_accepted = stats ["num_accepted" ]
1117+ self ._num_insertions = stats ["num_insertions" ]
1118+ self ._num_deletions = stats ["num_deletions" ]
1119+ self ._num_accepted_attempts = stats ["num_accepted_attempts" ]
1120+ self ._num_accepted_insertions = stats ["num_accepted_insertions" ]
1121+ self ._num_accepted_deletions = stats ["num_accepted_deletions" ]
1122+
1123+ def get_stats (self ) -> dict :
1124+ """
1125+ Return the current sampler statistics as a dictionary.
1126+
1127+ Returns
1128+ -------
1129+
1130+ dict
1131+ Dictionary of sampler statistics.
1132+ """
1133+ return {
1134+ "num_moves" : self ._num_moves ,
1135+ "num_accepted" : self ._num_accepted ,
1136+ "num_insertions" : self ._num_insertions ,
1137+ "num_deletions" : self ._num_deletions ,
1138+ "num_accepted_attempts" : self ._num_accepted_attempts ,
1139+ "num_accepted_insertions" : self ._num_accepted_insertions ,
1140+ "num_accepted_deletions" : self ._num_accepted_deletions ,
1141+ }
1142+
11051143 # Clear the forces.
11061144 self ._nonbonded_force = None
11071145 self ._custom_nonbonded_force = None
0 commit comments