aglowav::Tree01< BiClNode > Class Template Referenceabstract

Binary tree for the cluster and agglomeration algorithm. More...

#include <tree01.hh>

Inheritance diagram for aglowav::Tree01< BiClNode >:
aglowav::BiTree< BiClNode > cluster::Tree< BiClNode > aglowav::One2ManyTree< BiClNode >

Public Types

typedef Traits::F F
 
typedef BiClNode Node
 
typedef BiClNode Node
 Node type of the tree used for the interface of the far field matrices. More...
 
typedef ClstBiTreeTraits< BiClNode > Traits
 How a node has to behave. More...
 

Public Member Functions

virtual std::ostream & info (std::ostream &os) const
 Information about the tree. More...
 
virtual std::ostream & info (std::ostream &os) const
 
uint nclst () const
 Number of clusters. More...
 
virtual uint nclst () const=0
 Number of clusters. More...
 
uint nleaf () const
 Number of leafs. More...
 
virtual uint nleaf () const=0
 Number of leafs. More...
 
virtual uint nleaf () const=0
 Number of leafs. More...
 
const BiClNode * root () const
 Root of the tree. More...
 
virtual const BiClNode * root () const=0
 Root of the tree. More...
 
virtual const Noderoot () const=0
 Root node of the tree. More...
 
void sketch (std::ostream &os, const BiClNode *rt=0, uint l=0) const
 Sketches the structure of the tree. More...
 
const concepts::Space< F > & space () const
 Space of the tree. More...
 
 Tree01 (const concepts::Space< F > &spc, const cluster::BBall< F > &ball)
 Constructor. More...
 
virtual ~Tree01 ()
 Destructor. More...
 

Private Member Functions

BiClNode * constructor_ (BiClNode *lfset)
 Private constructor for recursive calls. More...
 
void destructor_ (BiClNode *clst)
 Private destructor for recursive calls. More...
 
void info_ (const Node *clst, concepts::Real &rhomin, concepts::Real &rhomax, concepts::Real &taumin, concepts::Real &taumax, uint &h) const
 Computes some information used by info() More...
 

Private Attributes

uint nclst_
 Number of clusters. More...
 
uint nlf_
 Number of leafs. More...
 
BiClNode * root_
 Root of the tree. More...
 
const concepts::Space< F > & spc_
 Space of the tree. More...
 

Detailed Description

template<class BiClNode>
class aglowav::Tree01< BiClNode >

Binary tree for the cluster and agglomeration algorithm.

The tree is constructed by bounding boxes.

Definition at line 19 of file tree01.hh.

Member Typedef Documentation

◆ F

template<class BiClNode >
typedef Traits::F aglowav::Tree01< BiClNode >::F

Definition at line 24 of file tree01.hh.

◆ Node [1/2]

typedef BiClNode aglowav::One2ManyTree< BiClNode >::Node
inherited

Definition at line 50 of file tree.hh.

◆ Node [2/2]

typedef BiClNode cluster::Tree< BiClNode >::Node
inherited

Node type of the tree used for the interface of the far field matrices.

Definition at line 294 of file tree.hh.

◆ Traits

template<class BiClNode >
typedef ClstBiTreeTraits<BiClNode> aglowav::Tree01< BiClNode >::Traits

How a node has to behave.

Definition at line 23 of file tree01.hh.

Constructor & Destructor Documentation

◆ Tree01()

template<class BiClNode >
aglowav::Tree01< BiClNode >::Tree01 ( const concepts::Space< F > &  spc,
const cluster::BBall< F > &  ball 
)

Constructor.

Parameters
spcSpace of the leafs
ballBounding ball/box for a space element

◆ ~Tree01()

template<class BiClNode >
virtual aglowav::Tree01< BiClNode >::~Tree01 ( )
inlinevirtual

Destructor.

Definition at line 33 of file tree01.hh.

Member Function Documentation

◆ constructor_()

template<class BiClNode >
BiClNode* aglowav::Tree01< BiClNode >::constructor_ ( BiClNode *  lfset)
private

Private constructor for recursive calls.

◆ destructor_()

template<class BiClNode >
void aglowav::Tree01< BiClNode >::destructor_ ( BiClNode *  clst)
private

Private destructor for recursive calls.

◆ info() [1/2]

virtual std::ostream& aglowav::One2ManyTree< BiClNode >::info ( std::ostream &  os) const
virtualinherited

Information about the tree.

◆ info() [2/2]

std::ostream & cluster::Tree< BiClNode >::info ( std::ostream &  os) const
virtualinherited

Definition at line 302 of file tree.hh.

◆ info_()

void cluster::Tree< BiClNode >::info_ ( const Node clst,
concepts::Real rhomin,
concepts::Real rhomax,
concepts::Real taumin,
concepts::Real taumax,
uint &  h 
) const
privateinherited

Computes some information used by info()

Parameters
clstNode of the tree
rhominRatio of child radius divided by cluster radius
rhomaxRatio of child radius divided by cluster radius
tauminRatio of number of leafs of the child divided by the number of leafs of the cluster
hLongest path in the tree from clst to the leafs

Definition at line 324 of file tree.hh.

◆ nclst() [1/2]

template<class BiClNode >
uint aglowav::Tree01< BiClNode >::nclst ( ) const
inline

Number of clusters.

Definition at line 36 of file tree01.hh.

◆ nclst() [2/2]

virtual uint cluster::Tree< BiClNode >::nclst
pure virtualinherited

Number of clusters.

◆ nleaf() [1/3]

template<class BiClNode >
uint aglowav::Tree01< BiClNode >::nleaf ( ) const
inline

Number of leafs.

Definition at line 38 of file tree01.hh.

◆ nleaf() [2/3]

virtual uint aglowav::One2ManyTree< BiClNode >::nleaf
pure virtualinherited

Number of leafs.

◆ nleaf() [3/3]

virtual uint cluster::Tree< BiClNode >::nleaf
pure virtualinherited

Number of leafs.

◆ root() [1/3]

template<class BiClNode >
const BiClNode* aglowav::Tree01< BiClNode >::root ( ) const
inline

Root of the tree.

Definition at line 40 of file tree01.hh.

◆ root() [2/3]

virtual const BiClNode * aglowav::BiTree< BiClNode >::root
pure virtualinherited

Root of the tree.

Implements aglowav::One2ManyTree< BiClNode >.

◆ root() [3/3]

virtual const Node* cluster::Tree< BiClNode >::root
pure virtualinherited

Root node of the tree.

◆ sketch()

void aglowav::One2ManyTree< BiClNode >::sketch ( std::ostream &  os,
const BiClNode *  rt = 0,
uint  l = 0 
) const
inherited

Sketches the structure of the tree.

Parameters
rtroot of the subtree which is to sketch
llevel of the root of the subtree

◆ space()

const concepts::Space<F>& cluster::Tree< BiClNode >::space
inlineinherited

Space of the tree.

Definition at line 310 of file tree.hh.

Member Data Documentation

◆ nclst_

template<class BiClNode >
uint aglowav::Tree01< BiClNode >::nclst_
private

Number of clusters.

Definition at line 46 of file tree01.hh.

◆ nlf_

template<class BiClNode >
uint aglowav::Tree01< BiClNode >::nlf_
private

Number of leafs.

Definition at line 44 of file tree01.hh.

◆ root_

template<class BiClNode >
BiClNode* aglowav::Tree01< BiClNode >::root_
private

Root of the tree.

Definition at line 48 of file tree01.hh.

◆ spc_

const concepts::Space<F>& cluster::Tree< BiClNode >::spc_
privateinherited

Space of the tree.

Definition at line 314 of file tree.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich