cluster::Tree< CNode > Class Template Referenceabstract

Abstract class for a cluster tree. More...

#include <tree.hh>

Inheritance diagram for cluster::Tree< CNode >:
cluster::Tree01< CNode > cluster::Tree02< CNode > cluster::Tree03< CNode >

Public Types

typedef Traits::F F
 Field (Real or Cmplx) More...
 
typedef CNode Node
 Node type of the tree used for the interface of the far field matrices. More...
 
typedef TreeTraits< CNode > Traits
 Interface of the tree. More...
 

Public Member Functions

virtual std::ostream & info (std::ostream &os) const
 
virtual uint nclst () const =0
 Number of clusters. More...
 
virtual uint nleaf () const =0
 Number of leafs. More...
 
virtual const Noderoot () const =0
 Root node of the tree. More...
 
const concepts::Space< F > & space () const
 Space of the tree. More...
 
 Tree (const concepts::Space< F > &spc)
 Constructor. More...
 
virtual ~Tree ()
 

Private Member Functions

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

const concepts::Space< F > & spc_
 Space of the tree. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Tree< CNode > &t)
 

Detailed Description

template<class CNode>
class cluster::Tree< CNode >

Abstract class for a cluster tree.

Parameters
CNodeNode type of the cluster tree

Definition at line 274 of file tree.hh.

Member Typedef Documentation

◆ F

template<class CNode >
typedef Traits::F cluster::Tree< CNode >::F

Field (Real or Cmplx)

Definition at line 292 of file tree.hh.

◆ Node

template<class CNode >
typedef CNode cluster::Tree< CNode >::Node

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 CNode >
typedef TreeTraits<CNode> cluster::Tree< CNode >::Traits

Interface of the tree.

Definition at line 290 of file tree.hh.

Constructor & Destructor Documentation

◆ Tree()

template<class CNode >
cluster::Tree< CNode >::Tree ( const concepts::Space< F > &  spc)
inline

Constructor.

Parameters
spcSpace which elements should be clustered

Definition at line 299 of file tree.hh.

◆ ~Tree()

template<class CNode >
virtual cluster::Tree< CNode >::~Tree ( )
inlinevirtual

Definition at line 300 of file tree.hh.

Member Function Documentation

◆ info()

template<class CNode >
std::ostream & cluster::Tree< CNode >::info ( std::ostream &  os) const
virtual

Definition at line 364 of file tree.hh.

◆ info_()

template<class CNode >
void cluster::Tree< CNode >::info_ ( const Node clst,
concepts::Real rhomin,
concepts::Real rhomax,
concepts::Real taumin,
concepts::Real taumax,
uint &  h 
) const
private

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 330 of file tree.hh.

◆ nclst()

template<class CNode >
virtual uint cluster::Tree< CNode >::nclst ( ) const
pure virtual

◆ nleaf()

template<class CNode >
virtual uint cluster::Tree< CNode >::nleaf ( ) const
pure virtual

◆ root()

template<class CNode >
virtual const Node* cluster::Tree< CNode >::root ( ) const
pure virtual

Root node of the tree.

Implemented in cluster::Tree03< CNode >, cluster::Tree02< CNode >, and cluster::Tree01< CNode >.

◆ space()

template<class CNode >
const concepts::Space<F>& cluster::Tree< CNode >::space ( ) const
inline

Space of the tree.

Definition at line 310 of file tree.hh.

Friends And Related Function Documentation

◆ operator<<

template<class CNode >
std::ostream& operator<< ( std::ostream &  os,
const Tree< CNode > &  t 
)
friend

Definition at line 277 of file tree.hh.

Member Data Documentation

◆ spc_

template<class CNode >
const concepts::Space<F>& cluster::Tree< CNode >::spc_
private

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