giovedì, novembre 16, 2006

istogramma.h

Ecco una possibile implementazione di istogramma.h.

#ifndef istogramma_h
#define istogramma_h

/** \class istogramma
semplice istogramma con strumetnto di visualizzazione
*/

class istogramma
{
public:

//! default ctor (crea un istogramma dummy)
istogramma () ;
//! costruttore
istogramma (const double & minimo, const double & massimo, const int & bins) ;
//! copy ctor
istogramma (const istogramma & original) ;
//! distruttore
~istogramma () ;

//! operator =
istogramma & operator= (istogramma const & original) ;

//! aggiungo un elemento all'istogramma
int fill (const double & value) ;
//! ottengo la media
double getMean () const ;
//! ottengo la sigma
double getSigma () const ;
//! ottengo il numero di entry
int getEntries () const ;
//! stampa sul monitor l'istogramma a barre
void print (int altezza = 20, int larghezza = 40) const ;
//! stampa l'istogramma a barre in orizzontale
void printOr (int altezza = 20, int larghezza = 40) const ;
//! trova il valore di frequenza massimo nell'istogramma
int getMaxValue () const ;

private:

//! somma dei valori in ingresso
double m_somma ;
//! somma al quadrato dei valori in ingresso
double m_sommaSq ;
//! numero di entry
int m_entries ;
//! numero di bin
int m_binsNumber ;
//! vettore dei bin
int * m_bins ;
//! minimum of histogram
double m_minimum ;
//! maximum of histogram
double m_maximum ;
//! inverso della dimensione di un bin
double m_invStep ;

//! NB il ";" !!
} ;

#endif

Nessun commento: