29 #include <basic/prof.hh>
30 #include <basic/datacache/BasicDataCache.hh>
34 #include <utility/vector1.hh>
86 using namespace conformation;
108 for (
Size i = 1; i <= nres; ++i ) {
117 center_of_mass /= nres_counted;
121 for (
Size i = 1; i <= nres; ++i ) {
127 rg_score += v.distance_squared( center_of_mass );
134 rg_score /= (nres_counted - 1);
136 return sqrt( rg_score );
155 for (
Size i = 1; i <= nres; ++i ) {
156 if (!relevant_residues[i])
continue;
166 center_of_mass /= nres_counted;
170 for (
Size i = 1; i <= nres; ++i ) {
171 if (!relevant_residues[i])
continue;
178 rg_score += v.distance_squared( center_of_mass );
185 rg_score /= (nres_counted - 1);
187 return sqrt( rg_score );
200 for (
Size i = 1; i <= nres; ++i ) {
213 for (
Size i = 1; i <= nres; ++i ) {
219 mindata.
rg += v.distance_squared( mindata.
com );
237 Size resid =
id.rsd();
238 Size atmid =
id.atomno();
250 Vector const f1( atom_x.cross( atom_y ) );
252 F1 += weights[
rg ] * f1;
253 F2 += weights[
rg ] * f2;
259 using namespace core::pose::datacache;
260 return *(
static_cast< RG_MinData const *
>( pose.
data().get_const_ptr( CacheableDataType::RG_MINDATA )() ));