00001 00002 #ifndef _Q_PULSER_GROUP_HH_ 00003 #define _Q_PULSER_GROUP_HH_ 00004 00005 #include <vector> 00006 #include "QTimer.hh" 00007 #include "QBasePulserController.hh" 00008 00009 class QPulserChannel; 00010 00022 class QPulserGroup 00023 { 00024 public: 00025 QPulserGroup(); 00026 virtual ~QPulserGroup(); 00027 00033 bool AddChannel(QPulserChannel* ch); 00034 00036 unsigned int GetDelay() const { return fDelay; } 00037 00039 void SetDelay(unsigned int delay); 00040 00042 const std::vector<QPulserChannel*>& GetChannels() const {return fChannels;} 00043 00047 QTimer<class QBasePulserController>* GetDelayTimer(); 00048 00049 unsigned int GetGroupId() const { return fGroupId; } 00050 00051 private: 00052 unsigned int fDelay; 00053 QTimer<QBasePulserController> fDelayTimer; 00054 std::vector<QPulserChannel*> fChannels; 00055 unsigned int fGroupId; 00056 static unsigned int gGroupIdCtr; 00057 }; 00058 00059 #endif