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() [1/2]

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() [2/2]

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

Constructs the ShellTree.

References init().

◆ ~ShellTree()

ShellTree::~ShellTree ( )
inline

References larger, and smaller.

Member Function Documentation

◆ getOverlappingWith()

void ShellTree::getOverlappingWith ( const real center,
real  cellsz,
std::map< int, int > &  res 
) const

◆ init()

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

Member Data Documentation

◆ dividingDimension

int ShellTree::dividingDimension
private

Referenced by getOverlappingWith(), and init().

◆ dividingValue

ergo_real ShellTree::dividingValue
private

Referenced by getOverlappingWith(), and init().

◆ larger

ShellTree* ShellTree::larger
private

◆ maxRadius

ergo_real ShellTree::maxRadius
private

upper limit of ownShell radius.

Referenced by getOverlappingWith(), and init().

◆ ownShells

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

◆ shells

const ShellSpecStruct* ShellTree::shells
private

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

◆ smaller

ShellTree* ShellTree::smaller
private

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