00001 00008 #ifndef _QB_AMPLITUDE_HH_ 00009 #define _QB_AMPLITUDE_HH_ 00010 00011 #include "QVector.hh" 00012 #include "QVectorC.hh" 00013 00014 using namespace Cuore; 00015 00016 class QBAmplitude { 00017 public: 00019 QBAmplitude(const QVector&, const QVector&); 00020 00022 virtual ~QBAmplitude(); 00023 00025 double GetAmplitude(); 00026 00028 double GetContributionFromFrequency(const unsigned int k); 00029 00031 const QVector& GetContributionsVector() {return fContributions;} 00032 00034 double GetIdealPulseAmplitude(); 00035 00037 void SetWeights(const QVector& weights) {fWeights = weights;} 00038 00039 private: 00042 void TransformToFreq(const QVector&, QVectorC&); 00043 00045 QVector fContributions; 00046 00048 QVectorC fIdealPulseFFT; 00049 00051 QVectorC fPulseFFT; 00052 00054 QVector fWeights; 00055 00056 }; 00057 00058 #endif