ergo
ShellTree Class Reference

Class that allows to find in NLogN time all shells that overlap with a given box. More...

Public Member Functions

 ShellTree (const BasisInfoStruct &bis_, const real *rShells_)
 root node constructor. More...
 
 ShellTree (const BasisInfoStruct &bis_, const real *rshell, const std::list< int > &activeShells, const Box &bb)
 Constructs the ShellTree. More...
 
 ~ShellTree ()
 
void init (const BasisInfoStruct &bis_, const real *rShells_, const std::list< int > &activeShells, const Box &bb)
 
void getOverlappingWith (const real *center, real cellsz, std::map< int, int > &res) const
 

Private Attributes

const ShellSpecStructshells
 
ShellTreesmaller
 
ShellTreelarger
 
ergo_real dividingValue
 
int dividingDimension
 
std::map< int, ergo_realownShells
 set only for leaves, i.e. More...
 
ergo_real maxRadius
 upper limit of ownShell radius. More...
 

Detailed Description

Class that allows to find in NLogN time all shells that overlap with a given box.

Constructor & Destructor Documentation

ShellTree::ShellTree ( const BasisInfoStruct bis_,
const real rShells 
)

root node constructor.

It does some initalization work and passes on the ball to the leave constructors.

References ShellSpecStruct_::centerCoords, getBoundingBox(), init(), BasisInfoStruct::noOfShells, BasisInfoStruct::shellList, and shells.

Referenced by init().

ShellTree::ShellTree ( const BasisInfoStruct bis_,
const real rShells,
const std::list< int > &  activeShells,
const Box bb 
)

Constructs the ShellTree.

References init().

ShellTree::~ShellTree ( )
inline

References larger, and smaller.

Member Function Documentation

void ShellTree::getOverlappingWith ( const real center,
real  cellsz,
std::map< int, int > &  res 
) const
void ShellTree::init ( const BasisInfoStruct bis_,
const real rShells_,
const std::list< int > &  activeShells,
const Box bb 
)

Member Data Documentation

int ShellTree::dividingDimension
private

Referenced by getOverlappingWith(), and init().

ergo_real ShellTree::dividingValue
private

Referenced by getOverlappingWith(), and init().

ShellTree* ShellTree::larger
private
ergo_real ShellTree::maxRadius
private

upper limit of ownShell radius.

Referenced by getOverlappingWith(), and init().

std::map<int,ergo_real> ShellTree::ownShells
private

set only for leaves, i.e.

such ShellTree objects that have smaller and larger fields set to NULL. Tree node contains a shell

Referenced by getOverlappingWith(), and init().

const ShellSpecStruct* ShellTree::shells
private

Referenced by getOverlappingWith(), init(), and ShellTree().

ShellTree* ShellTree::smaller
private

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