aglowav::Tree02< BiClNode > Class Template Referenceabstract

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

#include <tree02.hh>

Inheritance diagram for aglowav::Tree02< 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...
 
 Tree02 (const concepts::Space< F > &spc, const cluster::BBall< F > &ball)
 Constructor. More...
 
 ~Tree02 ()
 Destructor. More...
 

Private Member Functions

BiClNode * constructor_ (BiClNode *lfset, cluster::CebyCenter< BiClNode > &cby)
 Private constructor for recursive calls. More...
 
void destructor_ (BiClNode *nd)
 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::Tree02< BiClNode >

Binary tree for the cluster and agglomeration algorithm.

The tree is constructed by Cebysev balls.

Definition at line 21 of file tree02.hh.

Member Typedef Documentation

◆ F

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

Definition at line 26 of file tree02.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::Tree02< BiClNode >::Traits

How a node has to behave.

Definition at line 25 of file tree02.hh.

Constructor & Destructor Documentation

◆ Tree02()

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

Constructor.

Parameters
spcSpace of the leafs
ballBounding ball for a space element

◆ ~Tree02()

template<class BiClNode >
aglowav::Tree02< BiClNode >::~Tree02 ( )
inline

Destructor.

Definition at line 35 of file tree02.hh.

Member Function Documentation

◆ constructor_()

template<class BiClNode >
BiClNode* aglowav::Tree02< BiClNode >::constructor_ ( BiClNode *  lfset,
cluster::CebyCenter< BiClNode > &  cby 
)
private

Private constructor for recursive calls.

◆ destructor_()

template<class BiClNode >
void aglowav::Tree02< BiClNode >::destructor_ ( BiClNode *  nd)
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::Tree02< BiClNode >::nclst ( ) const
inline

Number of clusters.

Definition at line 38 of file tree02.hh.

◆ nclst() [2/2]

virtual uint cluster::Tree< BiClNode >::nclst ( ) const
pure virtualinherited

Number of clusters.

◆ nleaf() [1/3]

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

Number of leafs.

Definition at line 40 of file tree02.hh.

◆ nleaf() [2/3]

virtual uint aglowav::One2ManyTree< BiClNode >::nleaf ( ) const
pure virtualinherited

Number of leafs.

◆ nleaf() [3/3]

virtual uint cluster::Tree< BiClNode >::nleaf ( ) const
pure virtualinherited

Number of leafs.

◆ root() [1/3]

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

Root of the tree.

Definition at line 42 of file tree02.hh.

◆ root() [2/3]

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

Root of the tree.

Implements aglowav::One2ManyTree< BiClNode >.

◆ root() [3/3]

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

Root node of the tree.

◆ sketch()

void aglowav::One2ManyTree< BiClNode >::sketch ( std::ostream &  os,
const o2mNode *  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 ( ) const
inlineinherited

Space of the tree.

Definition at line 310 of file tree.hh.

Member Data Documentation

◆ nclst_

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

Number of clusters.

Definition at line 54 of file tree02.hh.

◆ nlf_

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

Number of leafs.

Definition at line 52 of file tree02.hh.

◆ root_

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

Root of the tree.

Definition at line 56 of file tree02.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