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

an atom-atom neighborlist object More...

#include <NeighborList.hh>

Public Member Functions

 AtomNeighbor ()
 
 AtomNeighbor (int const rsd_in, int const atomno_in, Size const path_dist_in, Real const weight_in, Real const weight_func_in=1)
 
int rsd () const
 
int atomno () const
 
Size path_dist () const
 
Real weight () const
 
Real weight_func () const
 fpd More...
 
Realtemp1 () const
 
Realtemp2 () const
 
Realtemp3 () const
 
Realtemp4 () const
 

Private Attributes

int rsd_
 
int atomno_
 
Size path_dist_
 
Real weight_
 
Real weight_func_
 
Real temp1_
 fpd More...
 
Real temp2_
 
Real temp3_
 
Real temp4_
 

Detailed Description

an atom-atom neighborlist object

The neighborlist is used during minimization to speed atom-atom energy calculations. It stores a list of potentially interacting neighbor atoms for each atom in the system.

The logic for using the nblist is tricky.

Tentative scheme: turn on nblist scoring at start of minimization

at this point, want pose to be fully scored so perhaps a call to scorefxn(pose) ?? Real const start_score( scorefxn( pose ) );

pose.energies().setup_use_nblist( true );

Real const start_func( func( vars ) ); // nblist setup inside this call

now require that all energy evaluations have an identical set of moving dofs (guaranteed if all energy calculations are inside function evaluations). This is checked inside each scorecaln using the nblist.

when using the nblist, the rsd-rsd neighbor information is not updated. This will probably be a good thing in that it will smooth the energy landscape during minimization...

in a nblist score calculation, we do two things: recover cached energies for non-pair-moved positions, and get atom-atom energies for the pairs that are on the nblist. We don't cache 2d energies for moving positions, since we are not looping over rsd nbr links for that score calculation so the caching would be pretty time- consuming I think.

The nblist has the count_pair weights stored, so no calls to count_pair !!

turn off nblist scoring at the end of minimization. Since we have not been updating rsd-pair energies for moving pairs, and the rsd-rsd nblist is potentially out of data, we reset the neighborgraph at this point to ensure a complete score calculation next time.

Constructor & Destructor Documentation

core::scoring::AtomNeighbor::AtomNeighbor ( )
inline
core::scoring::AtomNeighbor::AtomNeighbor ( int const  rsd_in,
int const  atomno_in,
Size const  path_dist_in,
Real const  weight_in,
Real const  weight_func_in = 1 
)
inline

Member Function Documentation

int core::scoring::AtomNeighbor::atomno ( ) const
inline
Size core::scoring::AtomNeighbor::path_dist ( ) const
inline

References path_dist_.

int core::scoring::AtomNeighbor::rsd ( ) const
inline
Real& core::scoring::AtomNeighbor::temp1 ( ) const
inline

References temp1_.

Real& core::scoring::AtomNeighbor::temp2 ( ) const
inline

References temp2_.

Real& core::scoring::AtomNeighbor::temp3 ( ) const
inline

References temp3_.

Real& core::scoring::AtomNeighbor::temp4 ( ) const
inline

References temp4_.

Real core::scoring::AtomNeighbor::weight ( ) const
inline
Real core::scoring::AtomNeighbor::weight_func ( ) const
inline

fpd

References weight_func_.

Member Data Documentation

int core::scoring::AtomNeighbor::atomno_
private

Referenced by atomno().

Size core::scoring::AtomNeighbor::path_dist_
private

Referenced by path_dist().

int core::scoring::AtomNeighbor::rsd_
private

Referenced by rsd().

Real core::scoring::AtomNeighbor::temp1_
mutableprivate

fpd

Referenced by temp1().

Real core::scoring::AtomNeighbor::temp2_
mutableprivate

Referenced by temp2().

Real core::scoring::AtomNeighbor::temp3_
mutableprivate

Referenced by temp3().

Real core::scoring::AtomNeighbor::temp4_
mutableprivate

Referenced by temp4().

Real core::scoring::AtomNeighbor::weight_
private

Referenced by weight().

Real core::scoring::AtomNeighbor::weight_func_
private

Referenced by weight_func().


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