00001 00011 #ifndef _QPULSE_HH_ 00012 #define _QPULSE_HH_ 00013 00014 #include "QCuore.hh" 00015 #include "QVector.hh" 00016 #include "QSampleInfo.hh" 00017 #include <vector> 00018 00019 class QPulseR; 00020 class QMainPulseR; 00021 00022 Q_BEGIN_NAMESPACE 00023 00024 class QPulse { 00025 00026 public: 00027 00029 QPulse() {}; 00031 virtual ~QPulse() {}; 00032 00034 const int& GetChannelId() const {return fChannelId;} 00035 00037 const QVector& GetSamples() const {return fSamples;} 00039 QVector& GetSamples() {return fSamples;} 00040 00042 const std::vector<QSampleInfo>& GetSamplesInfo() const {return fSamplesInfo;} 00044 std::vector<QSampleInfo>& GetSamplesInfo() {return fSamplesInfo;} 00045 00047 const size_t& GetTimedSample() const {return fTimedSample;} 00048 00050 void SetChannelId(const int& channelId) {fChannelId = channelId;} 00052 void SetTimedSample(const size_t& timedSample) {fTimedSample = timedSample;} 00053 00055 virtual void Clear() { ClearPulse(); } 00056 00057 protected: 00058 00060 void ClearPulse(); 00061 00063 int fChannelId; 00065 QVector fSamples; 00067 std::vector<QSampleInfo> fSamplesInfo; 00069 size_t fTimedSample; 00070 00071 friend class ::QPulseR; 00072 friend class ::QMainPulseR; 00073 }; 00074 00075 Q_END_NAMESPACE 00076 00077 #endif