double get_radius_of_gyration(const Group& grp) { double rg = 0; Vec3d ctr = grp.get_centroid(); int m = grp.n_atom_; Vec3d vtmp; double dtmp = 0; for (int i = 0; i < m; ++i) { vtmp = grp.coordinates_[i] - ctr; dtmp += vtmp.squared_norm(); } rg = sqrt(dtmp / m); return rg; }