00001 #ifndef _M_FLAGCOINCIDENCE_HH_ 00002 #define _M_FLAGCOINCIDENCE_HH_ 00003 00004 #include "QVector.hh" 00005 #include <set> 00006 00044 #include "QModule.hh" 00045 00046 class MFlagCoincidence : public QModule { 00047 00048 public: 00050 MFlagCoincidence(QSequence* s); 00051 00053 ~MFlagCoincidence(); 00054 00056 void Init(); 00057 00059 QEvent* Do(QEvent* ev); 00060 00062 void Done(); 00063 private: 00065 std::multiset<int> fCoincidentEvents; 00066 00068 std::vector<unsigned int> fPreviousEvents; 00069 00071 unsigned int fCurrentEvent; 00072 00074 std::vector<unsigned long long> fPreviousTimes; 00075 00077 unsigned long long fCurrentTime; 00078 00080 double fWindow; 00081 00083 int fIteration; 00084 00086 int fnCoincidences; 00087 00089 std::string fFlagName; 00090 00092 std::string fMultName; 00093 }; 00094 00095 #endif 00096