38 #include <basic/Tracer.hh>
48 #include <utility/vector1.hh>
57 using namespace kinematics;
59 static basic::Tracer
tr(
"core.scoring.dssp");
75 Vector b1 = ca1[2] - ca1[1];
76 Vector b2 = ca1[2] - ca1[3];
106 for (
int i = -1 ; i<=1 ; i++ ) {
107 id::AtomID CA1( rt1.atom_index (
"CA") , res1+i );
108 id::AtomID CA2( rt2.atom_index (
"CA") , res2+i );
109 pCA1[ i+2 ] = pose.
xyz( CA1 );
110 pCA2[ i+2 ] = pose.
xyz( CA2 );
113 Vector dCaCa = pCA1[ 2 ] - pCA2[ 2 ];
114 if ( dCaCa.length() > 10.5 ) {
115 tr.Warning <<
"the CA-CA distance for pairing " << res1 <<
" " << res2 <<
" is " << dCaCa.length() << std::endl;
128 orientation = dot_product( a1, a2 );
134 Real const d1 = dot_product(ab1,c1);
135 Real const d2 = dot_product(ab2,c2);
139 if ( orientation < 0 ) {
169 Real forientation, pleating1, pleating2;
175 pleating = ( (pleating1+pleating2) < 0 ? 1 : 2 );
183 if ( forientation < 0 ) {
186 pleating = ( (pleating1+pleating2) < 0 ? 1 : 2 );
190 pleating = ( (pleating1+pleating2) < 0 ? 2 : 1 );
193 tr.Debug <<
" orientation " << forientation <<
" pleating " << pleating << std::endl;
194 orientation = forientation < 0 ? 1 : 2;