40 #include <basic/Tracer.hh>
41 #include <utility/exit.hh>
42 #include <utility/stream_util.hh>
43 #include <utility/string_util.hh>
44 #include <basic/MetricValue.hh>
46 #include <utility/vector1.hh>
49 static basic::Tracer
TR(
"protocols.toolbox.PoseMetricCalculators.PiPiCalculator");
53 namespace pose_metric_calculators {
58 distance_cutoff_(5.0),
67 distance_cutoff_(dist_cutoff),
78 if ( key ==
"pi_pi" ) {
79 basic::check_cast( valptr, &
pi_pi_total_,
"pi_pi expects to return a Size" );
80 (
static_cast<basic::MetricValue<core::Size> *
>(valptr))->set(
pi_pi_total_ );
83 basic::Error() <<
"PiPiCalculator cannot compute the requested metric " << key << std::endl;
93 basic::Error() <<
"PiPiCalculator cannot compute metric " << key << std::endl;
109 if(acceptor.name3() ==
"TYR" || acceptor.name3() ==
"HIS" || acceptor.name3() ==
"PHE" || acceptor.name3() ==
"TRP"){
112 if(res_num1 == res_num2)
continue;
115 if(donate.name3() ==
"HIS" || donate.name3() ==
"TYR" || donate.name3() ==
"PHE" || donate.name3() ==
"TRP"){
117 bool get_out_of_loop=
false;
120 core::Size acc_atm = acceptor.first_sidechain_atom();
121 acc_atm != acceptor.nheavyatoms();
126 if(acceptor.atom_name(acc_atm) ==
" CB ")
continue;
129 core::chemical::AtomIndices::const_iterator
130 don_num = donate.Haro_index().begin(),
131 don_nume = donate.Haro_index().end();
132 don_num != don_nume; ++don_num
141 get_out_of_loop=
true;