14 for (
unsigned int i=0;i<N;i++) {
15 std::ostringstream stream;
16 stream <<
"Fraction " << i;
17 fraction.push_back(
new Parameter(stream.str(), 0.5, 0.0, 1.0));
19 for (
unsigned int i=0;i<N;i++) {
20 std::ostringstream stream;
21 stream <<
"Phase " << i;
22 phase.push_back(
new Parameter(stream.str(), M_PI, 0.0, 2.0*M_PI));
28 for (
unsigned int i=0;i<N;i++) {
38 for (
int i=0;i<N;i++) {
39 fraction.push_back(
new Parameter(*right.fraction[i]));
40 phase.push_back(
new Parameter(*right.phase[i]));
48 std::complex<double> P=0.0;
49 std::complex<double> I(0,1.0);
54 double Pn=sqrt(1/2.0/M_PI);
62 double Pn=sqrt(1/M_PI)*sin(n*x/2.0);
63 P+=exp(I*px)*sqrt(f*fn)*Pn;
#define FUNCTION_OBJECT_IMP(classname)
Parameter * getFraction(unsigned int i)
virtual double operator()(double argument) const override
FourierFit(unsigned int N)
Parameter * getPhase(unsigned int i)
unsigned int order() const
virtual double getValue() const
Parameter(std::string name, double value, double lowerLimit=-1e100, double upperLimit=1e100)