30 #include <numeric/numeric.functions.hh>
31 #include <numeric/xyzVector.hh>
36 #include <utility/vector1.hh>
37 #include <utility/exit.hh>
38 #include <basic/Tracer.hh>
41 #include <ObjexxFCL/char.functions.hh>
42 #include <ObjexxFCL/string.functions.hh>
45 #include <utility/io/ozstream.hh>
47 #include <basic/options/option.hh>
48 #include <basic/options/keys/in.OptionKeys.gen.hh>
56 #include <utility/string_util.hh>
57 #include <ObjexxFCL/format.hh>
60 static basic::Tracer
tr(
"core.scoring.DipolarCoupling");
66 using namespace ObjexxFCL::fmt;
126 DipolarCoupling::DC_lines::const_iterator it;
128 for( it = All_DC_lines.begin(); it != All_DC_lines.end(); ++it) {
137 atm1_map.push_back( ct );
138 atm2_map.push_back( ct );
189 if ( dc_nrs.size() == 0 ) {
196 for (
core::Size ii=1; ii<=dc_nrs.size(); ++ii) {
200 runtime_assert( dc_nr <= All_DC_lines.size() );
201 DC const& dc_data( All_DC_lines[ dc_nr ] );
205 if ( aid.rsd() == dc_data.res1() && utility::trimmed_compare( rsd1.
atom_name( aid.atomno() ), dc_data.atom1() ) ) {
207 fij += dc_data.f1ij();
208 }
else if ( aid.rsd() == dc_data.res2() && utility::trimmed_compare( rsd2.
atom_name( aid.atomno() ), dc_data.atom2() ) ){
210 fij += dc_data.f2ij();
224 F1 += score_weights[
dc ] * f1;
225 F2 += score_weights[
dc ] * f2;