From b15dd88a2a47e53215a266c7e650f7d11cef478c Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Thu, 27 Aug 2020 18:58:08 +0200
Subject: [PATCH] Added a missing check.

This is required to report errors with weights set to zero by mistake.

Related to #247
---
 src/reference/SingleDomainRMSD.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/reference/SingleDomainRMSD.cpp b/src/reference/SingleDomainRMSD.cpp
index 28d21bb1e..ec266b143 100644
--- a/src/reference/SingleDomainRMSD.cpp
+++ b/src/reference/SingleDomainRMSD.cpp
@@ -52,6 +52,9 @@ void SingleDomainRMSD::setReferenceAtoms( const std::vector<Vector>& conf, const
   double wa=0, wd=0;
   for(unsigned i=0; i<conf.size(); ++i) { wa+=align_in[i]; wd+=displace_in[i]; }
 
+  plumed_massert(wa>epsilon,"It looks like weights used for alignment are zero. Check your reference PDB file.");
+  plumed_massert(wd>epsilon,"It looks like weights used for displacement are zero. Check your reference PDB file.");
+
   Vector center;
   for(unsigned i=0; i<conf.size(); ++i) {
     align[i]=align_in[i] / wa; displace[i]=displace_in[i] / wd;
-- 
GitLab