00001 #ifndef _M_LCPREPROCESSFILTER_HH_ 00002 #define _M_LCPREPROCESSFILTER_HH_ 00003 00054 #include "QFilter.hh" 00055 00056 #include <map> 00057 00058 class MLCPreprocessFilter : public QFilter 00059 { 00060 00061 public: 00062 00064 MLCPreprocessFilter(QSequence* s); 00065 00067 ~MLCPreprocessFilter(); 00068 00070 void GetCuts(); 00071 00073 bool Filter(const QEvent* ev); 00074 00075 private: 00076 00078 bool UpdateRMS(double new_rms, const int lg); 00079 00081 std::map<int,int> fCurrentId; 00082 00084 std::map<int,size_t> fCnt; 00085 00087 std::map<int, int> fNumSkipped; 00088 00090 int fMaxToSkip; 00091 00093 size_t fMinNumbAvg; 00094 00096 double fUnitOfRMS; 00097 00099 std::map<int,double> fRMS; 00100 }; 00101 #endif