20 #include <utility/sort_predicates.hh>
25 #include <utility/vector1.hh>
30 namespace constraints_additional {
38 num_active_constraints_(num_act_csts)
48 num_active_constraints_(num_act_csts)
64 using namespace core::scoring::constraints;
65 using namespace core::scoring;
69 typedef std::pair< ConstraintCOP, EnergyMap > cst_emap_pair;
70 typedef std::pair< core::Real, cst_emap_pair > score_cst_pair;
73 std::list< score_cst_pair > score_cst_pairs;
79 for( ConstraintCOPs::const_iterator
83 (*member_it)->score(xyz_func, weights, cur_emap);
85 score_cst_pairs.push_back( score_cst_pair( cur_score, cst_emap_pair( *member_it, cur_emap ) ) );
89 score_cst_pairs.sort( utility::SortFirst< core::Real, cst_emap_pair >() );
95 for( std::list< score_cst_pair >::iterator cst_it = score_cst_pairs.begin() ;
118 using namespace core::scoring::constraints;
124 ConstraintOP new_cst = (*cst_it)->remap_resid( seqmap );
126 if( new_cst ) new_csts.push_back( new_cst );
130 if( new_csts.size() > 0 ){
148 using namespace core::scoring::constraints;
153 (*cst_it)->fill_f1_f2(atom, xyz, F1, F2, weights);
160 using namespace core::scoring::constraints;
161 out <<
"AmbiguousMultiConstraint containing the following " <<
member_constraints().size() <<
" constraints: " << std::endl;
163 (*cst_it)->show(out);
166 out <<
" ...all member constraints of this AmbiguousMultiConstraint shown." << std::endl;
172 using namespace core::scoring::constraints;
174 if ( verbose_level >= 70 ) {
175 Size total_viol( 0 );
180 total_viol += (*cst_it)->show_violations( out, pose, verbose_level, threshold );