fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/akutil/statistics.h
Go to the documentation of this file.
00001 /***************************************************************************
00002     statistics.h  -  description
00003 
00004     begin                : Fri Aug 25 2000
00005     copyright            : (C) 2000 by Andreas Kopmann
00006     email                : kopmann@hpe.fzk.de
00007  ***************************************************************************/
00008 
00009 
00010 #ifndef STATISTICS_H
00011 #define STATISTICS_H
00012 
00013 #include <cstdio>
00014 
00023 class statistics {
00024 public: 
00025   statistics();
00026   ~statistics();
00027 
00028   statistics operator=(statistics zuw) { // ???
00029 
00030     this->min = zuw.min;
00031     this->max = zuw.max;
00032     this->mean = zuw.mean;
00033     this->variance = zuw.variance;
00034 
00035   return(*this); // MS VC++ wants it ?!
00036   }
00037 
00040   void of(unsigned short *data, int n);
00041 
00045   void of(statistics *stat, int n);
00046 
00047   float calcMean(unsigned short *data, int n);
00048   unsigned short calcMin(unsigned short *data, int n);
00049   unsigned short calcMax(unsigned short *data, int n);
00050   float calcVariance(unsigned short *data, int n);
00051 
00052   void display(FILE *fout);
00053 
00056   void setMask(unsigned short mask) {
00057     this->mask = mask;
00058   }
00059 
00061   void add(statistics *stat);
00062 
00064   void minus(statistics *stat);
00065   
00066     
00067   
00068 // private:
00069   
00070   unsigned short min;
00071   unsigned short max;
00072   float mean;
00073   float variance;
00074 
00075 private:
00076 
00078   unsigned short mask;
00079   
00080 };
00081 
00082 #endif