00001 00008 #ifndef _Q_OB_AMPLITUDE_HH_ 00009 #define _Q_OB_AMPLITUDE_HH_ 00010 00011 #include "QCuore.hh" 00012 #include "QVector.hh" 00013 #include "QVectorC.hh" 00014 00015 Q_BEGIN_NAMESPACE 00016 00017 class QOBAmplitude { 00018 public: 00020 QOBAmplitude(const QVector&, const QVector&); 00021 00023 virtual ~QOBAmplitude(); 00024 00026 double GetAmplitude(); 00027 00029 double GetContributionFromFrequency(const unsigned int k); 00030 00032 const QVector& GetContributionsVector() {return fContributions;} 00033 00035 double GetIdealPulseAmplitude(); 00036 00038 void SetWeights(const QVector& weights) {fWeights = weights;} 00039 00040 private: 00043 void TransformToFreq(const QVector&, QVectorC&); 00044 00046 QVector fContributions; 00047 00049 QVectorC fIdealPulseFFT; 00050 00052 QVectorC fPulseFFT; 00053 00055 QVector fWeights; 00056 00057 }; 00058 00059 Q_END_NAMESPACE 00060 00061 #endif