00001 //============================================================================ 00005 //============================================================================ 00006 00007 #ifndef NXYTER_NXDATASUMMARY_H 00008 #define NXYTER_NXDATASUMMARY_H 00009 00010 #include <iostream> 00011 #include <vector> 00012 00013 #include "nxyter/DistFuncArray.h" 00014 00015 namespace nxyter { 00016 00017 class NxDataSummary { 00018 protected: 00019 std::vector<int> fNumEntries; 00020 std::vector<bool> fFull; 00021 std::vector<float> fMedian; 00022 std::vector<float> fWidth50; 00023 std::vector<float> fWidth80; 00024 std::vector<float> fMin; 00025 std::vector<float> fMax; 00026 00027 public: 00028 NxDataSummary(); 00029 virtual ~NxDataSummary(); 00030 00031 void clear(); 00032 void analyse(DistFuncArray& fda); 00033 00035 int numEntries(int cha) const 00036 { return fNumEntries.at(cha); } 00037 00039 int full(int cha) const 00040 { return fFull.at(cha); } 00041 00043 float getMedian(int cha) const 00044 { return fMedian.at(cha); } 00045 00047 float getWidth50(int cha) const 00048 { return fWidth50.at(cha); } 00049 00051 float getWidth80(int cha) const 00052 { return fWidth80.at(cha); } 00053 00055 float getMin(int cha) const 00056 { return fMin.at(cha); } 00057 00059 float getMax(int cha) const 00060 { return fMax.at(cha); } 00061 00062 void print(std::ostream& os, int nxnum=0) const; 00063 00064 }; 00065 00066 } 00067 00068 #endif