Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::NeighborList Class Reference

#include <NeighborList.hh>

Inheritance diagram for core::scoring::NeighborList:
Inheritance graph
[legend]

Public Member Functions

 NeighborList (kinematics::DomainMap const &domain_map, Real const XX_cutoff, Real const XH_cutoff, Real const HH_cutoff)
 
 ~NeighborList () override
 
NeighborListOP clone () const
 
AtomNeighbors const & atom_neighbors (int const pos, int const atomno) const
 
AtomNeighbors const & atom_neighbors (id::AtomID const &id) const
 
AtomNeighbors const & upper_atom_neighbors (int const pos, int const atomno) const
 
AtomNeighbors const & upper_atom_neighbors (id::AtomID const &id) const
 
AtomNeighbors const & intrares_upper_atom_neighbors (int const pos, int const atomno) const
 
AtomNeighbors const & intrares_upper_atom_neighbors (id::AtomID const &id) const
 
template<class T_Etable >
void setup (pose::Pose const &pose, ScoreFunction const &sfxn, T_Etable const &etable_method) const
 Initialize the nblist so that it reflects the current coordinates in the pose. More...
 
void check_domain_map (kinematics::DomainMap const &domain_map_in) const
 
void clear ()
 
kinematics::DomainMap const & domain_map () const
 
template<class T_Etable >
void prepare_for_scoring (pose::Pose const &pose, ScoreFunction const &sfxn, T_Etable const &etable_method) const
 If auto_update_, ensure that no atom in the pose has not moved too much since the last time the neighborlist was updated. The neighborlist tracks the starting coords for all atoms, and then updates. More...
 
void set_auto_update (Distance move_tolerance)
 
void disable_auto_update ()
 

Protected Member Functions

void declare_atoms_neighbors (id::AtomID at1, id::AtomID at2, Size path_dist, Real weight, Real weight_func=1.0) const
 
void declare_atom_neighbor_1sided (id::AtomID at1, id::AtomID at2, Size path_dist, Real weight, Real weight_func=1.0) const
 

Private Member Functions

void update_from_wide_nblist (pose::Pose const &pose) const
 
DistanceSquared atom_pair_cutoff (bool atom1_is_hydrogen, bool atom2_is_hydrogen) const
 

Private Attributes

bool auto_update_
 
DistanceSquared move_tolerance_sqr_
 
Distance const wide_nblist_extension_
 
DistanceSquared wide_move_tolerance_sqr_
 
utility::vector1
< utility::vector1
< AtomNeighbors > > 
nblist_
 
utility::vector1
< utility::vector1
< AtomNeighbors > > 
upper_nblist_
 
utility::vector1
< utility::vector1
< AtomNeighbors > > 
intrares_upper_nblist_
 
utility::vector1
< utility::vector1
< AtomNeighbors > > 
wide_nblist_
 
utility::vector1
< utility::vector1< Vector > > 
reference_coords_
 
utility::vector1
< utility::vector1< Vector > > 
wide_reference_coords_
 
kinematics::DomainMap const domain_map_
 
DistanceSquared const XX_cutoff_
 
DistanceSquared const XH_cutoff_
 
DistanceSquared const HH_cutoff_
 
Distance const sqrt_XX_cutoff_
 
Distance const sqrt_XH_cutoff_
 
Distance const sqrt_HH_cutoff_
 
DistanceSquared const XX_cutoff_wide_
 Separation square distance for atom pairs in kept in the wide neighbor list. More...
 
DistanceSquared const XH_cutoff_wide_
 
DistanceSquared const HH_cutoff_wide_
 
utility::vector1
< utility::vector1< Size > > 
atom_needs_update_from_wide_
 
utility::vector1< id::AtomIDatoms_to_update_
 
Size n_prepare_for_scorings_
 
Size n_update_from_wide_
 
Size n_full_updates_
 

Constructor & Destructor Documentation

core::scoring::NeighborList::NeighborList ( kinematics::DomainMap const &  domain_map,
Real const  XX_cutoff,
Real const  XH_cutoff,
Real const  HH_cutoff 
)
core::scoring::NeighborList::~NeighborList ( )
override

Member Function Documentation

AtomNeighbors const& core::scoring::NeighborList::atom_neighbors ( int const  pos,
int const  atomno 
) const
inline
AtomNeighbors const& core::scoring::NeighborList::atom_neighbors ( id::AtomID const &  id) const
inline

References nblist_.

DistanceSquared core::scoring::NeighborList::atom_pair_cutoff ( bool  atom1_is_hydrogen,
bool  atom2_is_hydrogen 
) const
inlineprivate

References HH_cutoff_, XH_cutoff_, and XX_cutoff_.

Referenced by setup(), and update_from_wide_nblist().

void core::scoring::NeighborList::check_domain_map ( kinematics::DomainMap const &  domain_map_in) const
void core::scoring::NeighborList::clear ( )
inline

References nblist_.

NeighborListOP core::scoring::NeighborList::clone ( ) const
inline
void core::scoring::NeighborList::declare_atom_neighbor_1sided ( id::AtomID  at1,
id::AtomID  at2,
Size  path_dist,
Real  weight,
Real  weight_func = 1.0 
) const
protected

Add at2 to atom 1's neighbor lists, but don't touch at2's neighbor lists.

References core::id::AtomID::atomno(), intrares_upper_nblist_, nblist_, core::id::AtomID::rsd(), upper_nblist_, and core::scoring::packstat::weight_func().

Referenced by update_from_wide_nblist().

void core::scoring::NeighborList::declare_atoms_neighbors ( id::AtomID  at1,
id::AtomID  at2,
Size  path_dist,
Real  weight,
Real  weight_func = 1.0 
) const
protected
void core::scoring::NeighborList::disable_auto_update ( )

References auto_update_.

kinematics::DomainMap const& core::scoring::NeighborList::domain_map ( ) const
inline

References domain_map_.

AtomNeighbors const& core::scoring::NeighborList::intrares_upper_atom_neighbors ( int const  pos,
int const  atomno 
) const
inline
AtomNeighbors const& core::scoring::NeighborList::intrares_upper_atom_neighbors ( id::AtomID const &  id) const
inline
template<class T_Etable >
void core::scoring::NeighborList::prepare_for_scoring ( pose::Pose const &  pose,
ScoreFunction const &  sfxn,
T_Etable const &  etable_method 
) const
void core::scoring::NeighborList::set_auto_update ( Distance  move_tolerance)
template<class T_Etable >
void core::scoring::NeighborList::setup ( pose::Pose const &  pose,
ScoreFunction const &  sfxn,
T_Etable const &  etable_method 
) const
void core::scoring::NeighborList::update_from_wide_nblist ( pose::Pose const &  pose) const
private
AtomNeighbors const& core::scoring::NeighborList::upper_atom_neighbors ( int const  pos,
int const  atomno 
) const
inline

References upper_nblist_.

AtomNeighbors const& core::scoring::NeighborList::upper_atom_neighbors ( id::AtomID const &  id) const
inline

References upper_nblist_.

Member Data Documentation

utility::vector1< utility::vector1< Size > > core::scoring::NeighborList::atom_needs_update_from_wide_
mutableprivate

Variables for updating the nblist from the wide nblist don't use v1< bool >: too slow

Referenced by prepare_for_scoring(), setup(), and update_from_wide_nblist().

utility::vector1< id::AtomID > core::scoring::NeighborList::atoms_to_update_
mutableprivate
bool core::scoring::NeighborList::auto_update_
private
kinematics::DomainMap const core::scoring::NeighborList::domain_map_
private

Referenced by check_domain_map(), domain_map(), and setup().

DistanceSquared const core::scoring::NeighborList::HH_cutoff_
private

Referenced by atom_pair_cutoff().

DistanceSquared const core::scoring::NeighborList::HH_cutoff_wide_
private

Referenced by setup().

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::intrares_upper_nblist_
mutableprivate
DistanceSquared core::scoring::NeighborList::move_tolerance_sqr_
private
Size core::scoring::NeighborList::n_full_updates_
mutableprivate
Size core::scoring::NeighborList::n_prepare_for_scorings_
mutableprivate
Size core::scoring::NeighborList::n_update_from_wide_
mutableprivate
utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::nblist_
mutableprivate
utility::vector1< utility::vector1< Vector > > core::scoring::NeighborList::reference_coords_
mutableprivate
Distance const core::scoring::NeighborList::sqrt_HH_cutoff_
private
Distance const core::scoring::NeighborList::sqrt_XH_cutoff_
private
Distance const core::scoring::NeighborList::sqrt_XX_cutoff_
private

Referenced by setup().

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::upper_nblist_
mutableprivate
DistanceSquared core::scoring::NeighborList::wide_move_tolerance_sqr_
private
utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::wide_nblist_
mutableprivate

Referenced by setup(), and update_from_wide_nblist().

Distance const core::scoring::NeighborList::wide_nblist_extension_
private

Referenced by set_auto_update(), and setup().

utility::vector1< utility::vector1< Vector > > core::scoring::NeighborList::wide_reference_coords_
mutableprivate
DistanceSquared const core::scoring::NeighborList::XH_cutoff_
private

Referenced by atom_pair_cutoff().

DistanceSquared const core::scoring::NeighborList::XH_cutoff_wide_
private

Referenced by setup().

DistanceSquared const core::scoring::NeighborList::XX_cutoff_
private

Referenced by atom_pair_cutoff(), and setup().

DistanceSquared const core::scoring::NeighborList::XX_cutoff_wide_
private

Separation square distance for atom pairs in kept in the wide neighbor list.

Referenced by setup().


The documentation for this class was generated from the following files: