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.ChemicalShiftAnisotropy");
66 using namespace ObjexxFCL::fmt;
126 ChemicalShiftAnisotropy::CSA_lines::const_iterator it;
128 for( it = All_CSA_lines.begin(); it != All_CSA_lines.end(); ++it) {
140 atm1_map.push_back( ct );
141 atm2_map.push_back( ct );
142 atm3_map.push_back( ct );
194 if ( csa_nrs.size() == 0 ) {
202 for (
Size ii=1; ii<=csa_nrs.size(); ++ii) {
208 runtime_assert( csa_nr <= All_CSA_lines.size() );
209 CSA const& csa_data( All_CSA_lines[ csa_nr ] );
215 if ( aid.rsd() == csa_data.res1() && utility::trimmed_compare( rsd1.
atom_name( aid.atomno() ), csa_data.atom1() ) ) {
217 fij += csa_data.f1ij();
218 }
else if ( aid.rsd() == csa_data.res2() && utility::trimmed_compare( rsd2.
atom_name( aid.atomno() ), csa_data.atom2() ) ){
220 fij += csa_data.f2ij();
221 }
else if ( aid.rsd() == csa_data.res3() && utility::trimmed_compare( rsd3.
atom_name( aid.atomno() ), csa_data.atom3() ) ){
223 fij += csa_data.f3ij();
237 F1 += score_weights[
csa ] * f1;
238 F2 += score_weights[
csa ] * f2;