00001 00031 #ifndef _M_TIMESORT_H_ 00032 #define _M_TIMESORT_H_ 00033 00034 #include <string> 00035 #include <vector> 00036 #include <utility> 00037 #include "QModule.hh" 00038 #include "QCuore.hh" 00039 00040 00041 class MTimeSort : public QModule { 00042 00043 public: 00044 MTimeSort(QSequence* s); 00045 00046 virtual ~MTimeSort(); 00047 00048 // Init method is called before event loop 00049 virtual void Init(); 00050 00051 // Doit method is called for each event, getting the event as argument 00052 virtual QEvent* Do( QEvent* ev); 00053 00054 // Done method is called after event loop 00055 virtual void Done(); 00056 00057 private: 00059 std::string fOutputFilename; 00060 00062 std::vector< std::pair<int, unsigned long long> > fEventVector; 00063 00065 int fIndex; 00066 00068 int fIteration; 00069 00071 int fNumberOfEvents; 00072 00074 int fStartTime; 00075 00077 std::vector<int> fChannelVector; 00078 00079 }; 00080 00081 #endif