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