31 #include <utility/vector1.hh>
32 #include <utility/pointer/ReferenceCount.hh>
35 #include <numeric/constants.hh>
55 bg_residues_( bg_residues ),
58 scminmap_( scminmap ),
59 scoretypes_( sfxn_.get_nonzero_weighted_scoretypes() )
67 using namespace scoring;
83 edgeit != edgeit_end; ++edgeit ) {
84 Size const jjresid = (*edgeit)->get_other_ind( iiresid );
85 bool const jjmoving =
scminmap_.
dm()( jjresid ) == 0;
86 if ( jjmoving && iiresid > jjresid )
continue;
90 if ( iiresid < jjresid ) {
93 minedge.setup_for_scoring( jjres, iires,
pose_,
sfxn_ );
112 edgeit != edgeit_end; ++edgeit ) {
113 Size const jjresid = (*edgeit)->get_other_ind( iiresid );
114 bool const jjmoving =
scminmap_.
dm()( jjresid ) == 0;
115 if ( jjmoving && iiresid > jjresid )
continue;
119 if ( iiresid < jjresid ) {
133 using namespace scoring;
149 edgeit != edgeit_end; ++edgeit ) {
150 Size const jjresid = (*edgeit)->get_other_ind( iiresid );
151 bool const jjmoving =
scminmap_.
dm()( jjresid ) == 0;
152 if ( jjmoving && iiresid > jjresid )
continue;
155 if ( iiresid < jjresid ) {
158 minedge.setup_for_derivatives( jjres, iires,
pose_,
sfxn_ );
179 edgeit != edgeit_end; ++edgeit ) {
180 Size const jjresid = (*edgeit)->get_other_ind( iiresid );
181 bool const jjmoving =
scminmap_.
dm()( jjresid ) == 0;
182 if ( jjmoving && iiresid > jjresid )
continue;
187 if ( iiresid < jjresid ) {
203 iidofnode.
F1() = 0; iidofnode.F2() = 0;
205 for (
Size jj = 1, jjend = iiatoms.size(); jj <= jjend; ++jj ) {
226 dofderiv, numeric::constants::d::rad2deg );
258 eval_atom_derivative_for_minnode( minnode, atomno, rsd, pose_, scminmap_.dm(), sfxn_, sfxn_.weights(), F1, F2 );
260 ResSingleMinimizationData const & ressingle_min_data( minnode.res_min_data() );
262 for ( graph::Node::EdgeListConstIter
263 edgeit = minnode.const_edge_list_begin(), edgeit_end = minnode.const_edge_list_end();
264 edgeit != edgeit_end; ++edgeit ) {
265 MinimizationEdge const & minedge = static_cast< MinimizationEdge const & > ( (**edgeit) );
266 Size const other_rsdno = minedge.get_other_ind( rsdno );
267 conformation::Residue const & other_rsd( scminmap_.dm()( other_rsdno ) == 0 ? scminmap_.residue( other_rsdno ) : *bg_residues_[ other_rsdno ]);
268 ResSingleMinimizationData const & other_ressingle_min_data( g_.get_minimization_node( other_rsdno )->res_min_data() );
270 eval_atom_deriv_for_minedge( minedge, atomno, rsd, other_rsd,
271 ressingle_min_data, other_ressingle_min_data,
272 pose_, scminmap_.dm(), sfxn_, sfxn_.weights(), F1, F2 );