00001 00017 #ifndef _Q_PULSER_GROUP_HH_ 00018 #define _Q_PULSER_GROUP_HH_ 00019 00020 #include <vector> 00021 #include "QTimer.hh" 00022 #include "QPulserController.hh" 00023 00024 class QPulserChannel; 00025 00026 class QPulserGroup 00027 { 00028 public: 00029 QPulserGroup(); 00030 virtual ~QPulserGroup(); 00031 00037 bool AddChannel(QPulserChannel* ch); 00038 00040 unsigned int GetDelay() const { return fDelay; } 00041 00043 void SetDelay(unsigned short delay); 00044 00046 const std::vector<QPulserChannel*>& GetChannels() const {return fChannels;} 00047 00051 QTimer<class QPulserController>* GetDelayTimer(); 00052 00053 const unsigned short& GetGroupId() const { return fGroupId; } 00054 00055 private: 00056 unsigned short fDelay; 00057 QTimer<QPulserController> fDelayTimer; 00058 std::vector<QPulserChannel*> fChannels; 00059 unsigned short fGroupId; 00060 static unsigned short gGroupIdCtr; 00061 }; 00062 00063 #endif