23 #include <basic/database/open.hh>
28 #include <utility/io/izstream.hh>
30 #include <utility/vector1.hh>
31 #include <boost/bind.hpp>
41 using numeric::constants::f::pi;
48 for (
Size i=1; i<=As.size(); ++i) {
49 y += As[i] * exp( -(d-mus[i][0])*(d-mus[i][0]) / (2*sigmas[i][0]*sigmas[i][0]) )
50 * ( exp( sigmas[i][1]*cos( pi/180*(xd-mus[i][1]) ) ) + exp( sigmas[i][1]*cos( pi/180*(xd+mus[i][1]) ) ) )
51 * ( exp( sigmas[i][2]*cos( pi/180*(xh-mus[i][2]) ) ) + exp( sigmas[i][2]*cos( pi/180*(xh+mus[i][2]) ) ) );
58 using numeric::constants::f::pi;
65 for (
Size i=1; i<=As.size(); ++i) {
66 Real s1 = exp( -(d-mus[i][0])*(d-mus[i][0]) / (2*sigmas[i][0]*sigmas[i][0]) );
67 Real s2a = exp( sigmas[i][1]*cos( pi/180*(xd-mus[i][1]) ) );
68 Real s2b = exp( sigmas[i][1]*cos( pi/180*(xd+mus[i][1]) ) );
69 Real s3a = exp( sigmas[i][2]*cos( pi/180*(xh-mus[i][2]) ) );
70 Real s3b = exp( sigmas[i][2]*cos( pi/180*(xh+mus[i][2]) ) );
74 dy[0] += -As[i] * s1 * s2 * s3 * (d-mus[i][0]) / (sigmas[i][0]*sigmas[i][0]);
75 dy[1] += -As[i] * s1 * s3 * pi/180 * sigmas[i][1] * ( sin( pi/180*(xd-mus[i][1])) * s2a + sin( pi/180*(xd+mus[i][1])) * s2b );
76 dy[2] += -As[i] * s1 * s2 * pi/180 * sigmas[i][2] * ( sin( pi/180*(xh-mus[i][2])) * s3a + sin( pi/180*(xh+mus[i][2])) * s3b );
90 utility::io::izstream stream;
91 basic::database::open( stream,
"scoring/score_functions/centroid_smooth/cen_hb_params.txt");
93 while ( getline( stream, line ) ) {
94 std::istringstream l(line);
96 if (tag ==
"HBOND_BB_LR:") {
98 if (tag ==
"CUTOFF") {
100 }
else if (tag ==
"GAUSSIAN3D") {
101 Size ngauss; l >> ngauss;
104 for (
Size i=1; i<=ngauss; ++i) {
105 l >> A >> mu[0] >> mu[1] >> mu[2] >> sigma[0] >> sigma[1] >> sigma[2];
109 }
else if (tag ==
"HBOND_BB_SR:") {
111 if (tag ==
"CUTOFF") {
113 }
else if (tag ==
"GAUSSIAN3D") {
114 Size ngauss; l >> ngauss;
117 for (
Size i=1; i<=ngauss; ++i) {
118 l >> A >> mu[0] >> mu[1] >> mu[2] >> sigma[0] >> sigma[1] >> sigma[2];
122 }
else if (tag !=
"#") {
123 utility_exit_with_message(
"bad format for cen_smooth_params.txt");
126 if ( l.fail() ) utility_exit_with_message(
"bad format for cen_smooth_params.txt");