22 #ifndef InstantTunningEstimator_hxx
23 #define InstantTunningEstimator_hxx
43 typedef std::vector<std::pair<double, double> >
PeakList;
65 void doIt(
const std::vector<std::pair<double, double> >& peaks)
71 for (
unsigned int peak=0; peak<peaks.size(); peak++)
73 double radiantTunning=peaks[peak].first*2*M_PI;
74 _instantX+=cos(radiantTunning)*peaks[peak].second;
75 _instantY+=sin(radiantTunning)*peaks[peak].second;
80 std::pair<double,double>
output()
const
82 double tunning=std::atan2(_fasorY,_fasorX)/2/M_PI;
83 double strength=std::sqrt(_fasorY*_fasorY+_fasorX*_fasorX);
84 return std::make_pair(tunning, strength);
88 double tunning=std::atan2(_instantY,_instantX)/2/M_PI;
89 double strength=std::sqrt(_instantY*_instantY+_instantX*_instantX);
90 return std::make_pair(tunning, strength);
96 #endif// InstantTunningEstimator_hxx