22 #include <basic/options/option.hh>
28 #include <basic/Tracer.hh>
32 #include <basic/options/keys/run.OptionKeys.gen.hh>
34 #include <utility/vector1.hh>
43 static basic::Tracer
tr(
"core.scoring.NeighborList");
51 auto_update_( false ),
52 move_tolerance_sqr_( 0.0 ),
54 wide_nblist_extension_(
55 basic::options::option[basic::options::OptionKeys::
run::wide_nblist_extension].user() ?
56 basic::options::option[basic::options::OptionKeys::
run::wide_nblist_extension]() :
57 basic::options::option[basic::options::OptionKeys::
run::nblist_autoupdate_wide]()
59 wide_move_tolerance_sqr_( 0.0 ),
60 domain_map_( domain_map_in ),
61 XX_cutoff_( XX_cutoff ),
62 XH_cutoff_( XH_cutoff ),
63 HH_cutoff_( HH_cutoff ),
64 sqrt_XX_cutoff_( std::sqrt(XX_cutoff) ),
65 sqrt_XH_cutoff_( std::sqrt(XH_cutoff) ),
66 sqrt_HH_cutoff_( std::sqrt(HH_cutoff) ),
67 XX_cutoff_wide_( std::pow( sqrt_XX_cutoff_ + 2 * wide_nblist_extension_, 2 ) ),
68 XH_cutoff_wide_( std::pow( sqrt_XH_cutoff_ + 2 * wide_nblist_extension_, 2 ) ),
69 HH_cutoff_wide_( std::pow( sqrt_HH_cutoff_ + 2 * wide_nblist_extension_, 2 ) ),
70 n_prepare_for_scorings_( 0 ),
71 n_update_from_wide_( 0 ),
96 utility_exit_with_message(
"domain_map mismatch in nblist");
127 for (
Size ii = 1; ii <= natoms_moved_more_than_move_tolerance; ++ii ) {
142 bool const ii_is_hydrogen = pose.
residue( ii_atom.
rsd() ).atom_is_hydrogen( ii_atom.
atomno() );
144 bool const ii_original_atom_moved( ii <= natoms_moved_more_than_move_tolerance );
145 if ( ii_original_atom_moved ) {
147 for (
Size jj = 1, jje = ii_nblist.size(); jj <= jje; ++jj ) {
148 int const nbr_rsd = ii_nblist[ jj ].rsd();
149 int const nbr_atom = ii_nblist[ jj ].atomno();
170 for (
Size jj = 1, jje = ii_wide_nblist.size(); jj <= jje; ++jj ) {
171 int const nbr_rsd = ii_wide_nblist[ jj ].rsd();
172 int const nbr_atom = ii_wide_nblist[ jj ].atomno();
205 if ( at1.
rsd() != at2.
rsd() ) {
206 if ( at1.
rsd() < at2.
rsd() ) {
226 if ( at1.
rsd() != at2.
rsd() ) {
227 if ( at1.
rsd() < at2.
rsd() ) {