00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef ___GPROBEMANAGER_H___
00026 #define ___GPROBEMANAGER_H___
00027
00028 #include <string>
00029 #include <map>
00030
00031 #include "probeband.h"
00032 #include "probehistogram.h"
00033 #include "probeslice.h"
00034 #include "probebandslice.h"
00035 #include "probemean.h"
00036 #include "probejitter.h"
00037 #include "probeminmax.h"
00038
00044
00051 class GlobalProbeManagerException : public exception
00052 {
00053 string Msg;
00054 public:
00055 GlobalProbeManagerException(const string &aMsg)
00056 : Msg(aMsg)
00057 {};
00058 virtual ~GlobalProbeManagerException() throw(){};
00059
00060 virtual const char* what() const throw()
00061 {
00062 return (string(exception::what()) + Msg).c_str();
00063 };
00064 };
00065
00067
00079 class GlobalProbeManager
00080 {
00081 protected:
00082
00083 map<string, ProbeMean *> MeanProbes;
00084 map<string, ProbeJitter *> JitterProbes;
00085 map<string, ProbeSlice *> MeanSliceProbes;
00086 map<string, ProbeMinMax *> MinMaxProbes;
00087 map<string, ProbeHistogram *> HistogramProbes;
00088 map<string, ProbeBand *> BandProbes;
00089 map<string, ProbeBandSlice *> BandSliceProbes;
00090
00091 vector<string> ProbesName;
00092
00093 public:
00094 GlobalProbeManager();
00095 ~GlobalProbeManager();
00096
00098 ProbeMean* getGlobalProbeMean(string Name) throw (GlobalProbeManagerException);
00099
00101 ProbeJitter* getGlobalProbeJitter(string Name) throw (GlobalProbeManagerException);
00102
00104 ProbeSlice* getGlobalProbeMeanSlice(string Name) throw (GlobalProbeManagerException);
00105
00107 ProbeMinMax* getGlobalProbeMinMax(string Name) throw (GlobalProbeManagerException);
00108
00110 ProbeHistogram* getGlobalProbeHistogram(string Name, double _BinWidth = 1, double _BinStart = 0.0) throw (GlobalProbeManagerException);
00111
00113 ProbeBand* getGlobalProbeBand(string Name) throw (GlobalProbeManagerException);
00114
00116 ProbeBandSlice* getGlobalProbeBandSlice(string Name) throw (GlobalProbeManagerException);
00117
00118 };
00119
00121
00122 #endif