00001 #ifndef _M_CORC_TIME_BEHAVIOR_HH_ 00002 #define _M_CORC_TIME_BEHAVIOR_HH_ 00003 00030 #include "QCorcModule.hh" 00031 #include "QIntervalSet.hh" 00032 #include <map> 00033 00034 class MCorcTimeBehavior : public QCorcModule { 00035 00036 public: 00038 MCorcTimeBehavior(QSequence* s); 00039 00041 ~MCorcTimeBehavior(); 00042 00044 void Init(); 00045 00047 QEvent* Do(QEvent* ev); 00048 00050 void Done(); 00051 00052 private: 00054 void Write(); 00055 00056 class ChannelInfo { 00057 public: 00058 int fNumberOfSignalEvents; 00059 int fRun; 00060 Cuore::QIntervalSet fHeaterEventTimeHoles; 00061 Cuore::QIntervalSet fSignalEventTimeHoles; 00062 double fTimeOfLastHeaterEvent; 00063 double fTimeOfLastSignalEvent; 00064 }; 00065 00067 std::map<int, ChannelInfo> fChannelList; 00068 00070 double fMaxAllowedTimeHole; 00071 00073 double fTimeOfLastEvent; 00074 00075 }; 00076 00077 #endif