Rosetta
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

◆ NeighborList()

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

◆ ~NeighborList()

core::scoring::NeighborList::~NeighborList ( )
override

Member Function Documentation

◆ atom_neighbors() [1/2]

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

References nblist_.

◆ atom_neighbors() [2/2]

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

◆ atom_pair_cutoff()

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().

◆ check_domain_map()

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

◆ clear()

void core::scoring::NeighborList::clear ( )
inline

References nblist_.

◆ clone()

NeighborListOP core::scoring::NeighborList::clone ( ) const
inline

◆ declare_atom_neighbor_1sided()

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().

◆ declare_atoms_neighbors()

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

◆ disable_auto_update()

void core::scoring::NeighborList::disable_auto_update ( )

References auto_update_.

◆ domain_map()

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

References domain_map_.

◆ intrares_upper_atom_neighbors() [1/2]

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

◆ intrares_upper_atom_neighbors() [2/2]

AtomNeighbors const& core::scoring::NeighborList::intrares_upper_atom_neighbors ( int const  pos,
int const  atomno 
) const
inline

◆ prepare_for_scoring()

template<class T_Etable >
void core::scoring::NeighborList::prepare_for_scoring ( pose::Pose const &  pose,
ScoreFunction const &  sfxn,
T_Etable const &  etable_method 
) const

◆ set_auto_update()

void core::scoring::NeighborList::set_auto_update ( Distance  move_tolerance)

◆ setup()

template<class T_Etable >
void core::scoring::NeighborList::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.

const so that it may be called within setup_for_scoring T_Etable class must implement the following functions: bool defines_intrares_energy( EnergyMap const & ) const; CountPairFunctionCOP get_intrares_countpair( conformation::Residue const &, pose::Pose const &, ScoreFunction const & ) const; CountPairFunctionCOP get_count_pair_function( Size &, Size &, pose::Pose const &, ScoreFunction const & ) const;

References core::conformation::Residue::atom(), core::conformation::Residue::atom_is_hydrogen(), atom_needs_update_from_wide_, atom_pair_cutoff(), auto_update_, core::pose::Pose::conformation(), declare_atoms_neighbors(), domain_map_, core::scoring::methods::etable_method, core::conformation::Conformation::get_residue_mask(), core::conformation::Conformation::get_residue_weight(), HH_cutoff_wide_, intrares_upper_nblist_, core::conformation::Residue::natoms(), nblist_, core::conformation::Residue::nbr_radius(), core::pose::pose_max_nbr_radius(), reference_coords_, core::pose::Pose::residue(), core::conformation::residue_point_graph_from_conformation(), core::pose::Pose::size(), sqrt_XX_cutoff_, upper_nblist_, core::scoring::packstat::weight_func(), core::scoring::ScoreFunction::weights(), wide_nblist_, wide_nblist_extension_, wide_reference_coords_, XH_cutoff_wide_, XX_cutoff_, XX_cutoff_wide_, core::conformation::Atom::xyz(), and core::conformation::Residue::xyz().

Referenced by prepare_for_scoring().

◆ update_from_wide_nblist()

void core::scoring::NeighborList::update_from_wide_nblist ( pose::Pose const &  pose) const
private

◆ upper_atom_neighbors() [1/2]

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

References upper_nblist_.

◆ upper_atom_neighbors() [2/2]

AtomNeighbors const& core::scoring::NeighborList::upper_atom_neighbors ( int const  pos,
int const  atomno 
) const
inline

Member Data Documentation

◆ atom_needs_update_from_wide_

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().

◆ atoms_to_update_

utility::vector1< id::AtomID > core::scoring::NeighborList::atoms_to_update_
mutableprivate

◆ auto_update_

bool core::scoring::NeighborList::auto_update_
private

◆ domain_map_

kinematics::DomainMap const core::scoring::NeighborList::domain_map_
private

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

◆ HH_cutoff_

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

Referenced by atom_pair_cutoff().

◆ HH_cutoff_wide_

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

Referenced by setup().

◆ intrares_upper_nblist_

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::intrares_upper_nblist_
mutableprivate

◆ move_tolerance_sqr_

DistanceSquared core::scoring::NeighborList::move_tolerance_sqr_
private

◆ n_full_updates_

Size core::scoring::NeighborList::n_full_updates_
mutableprivate

◆ n_prepare_for_scorings_

Size core::scoring::NeighborList::n_prepare_for_scorings_
mutableprivate

◆ n_update_from_wide_

Size core::scoring::NeighborList::n_update_from_wide_
mutableprivate

◆ nblist_

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::nblist_
mutableprivate

◆ reference_coords_

utility::vector1< utility::vector1< Vector > > core::scoring::NeighborList::reference_coords_
mutableprivate

◆ sqrt_HH_cutoff_

Distance const core::scoring::NeighborList::sqrt_HH_cutoff_
private

◆ sqrt_XH_cutoff_

Distance const core::scoring::NeighborList::sqrt_XH_cutoff_
private

◆ sqrt_XX_cutoff_

Distance const core::scoring::NeighborList::sqrt_XX_cutoff_
private

Referenced by setup().

◆ upper_nblist_

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::upper_nblist_
mutableprivate

◆ wide_move_tolerance_sqr_

DistanceSquared core::scoring::NeighborList::wide_move_tolerance_sqr_
private

◆ wide_nblist_

utility::vector1< utility::vector1< AtomNeighbors > > core::scoring::NeighborList::wide_nblist_
mutableprivate

Referenced by setup(), and update_from_wide_nblist().

◆ wide_nblist_extension_

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

Referenced by set_auto_update(), and setup().

◆ wide_reference_coords_

utility::vector1< utility::vector1< Vector > > core::scoring::NeighborList::wide_reference_coords_
mutableprivate

◆ XH_cutoff_

DistanceSquared const core::scoring::NeighborList::XH_cutoff_
private

Referenced by atom_pair_cutoff().

◆ XH_cutoff_wide_

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

Referenced by setup().

◆ XX_cutoff_

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

Referenced by atom_pair_cutoff(), and setup().

◆ XX_cutoff_wide_

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: