00001 #ifndef Anderson2CorrelationFunction_H
00002 #define Anderson2CorrelationFunction_H
00003
00004 #include "FixedCuspPadeCorrelationFunction.h"
00005
00010 class Anderson2CorrelationFunction : public FixedCuspPadeCorrelationFunction
00011 {
00012 private:
00013 double g, A, A2, F, A2F, s2g;
00014
00015 double B;
00016 double L;
00017
00018
00019 double yuk, dyuk, d2yuk;
00020 double ir, t1, t2;
00021
00022 double dG_a, dG_xa, dG_xxa;
00023 double pre, dpre, d2pre;
00024
00025 double r,x;
00026
00027 int n;
00028 double sum_Tn, sum_dTn, sum_d2Tn;
00029 Array1D<double> Tn;
00030 Array1D<double> dTn;
00031 Array1D<double> d2Tn;
00032 Array1D<double> co;
00033 public:
00034
00035 void initializeParameters(Array1D<int> & BeginningIndexOfParameterType,
00036 Array1D<double> &Parameters,
00037 Array1D<int> & BeginningIndexOfConstantType,
00038 Array1D<double> & Constants);
00039
00040 void evaluate( double r );
00041 double get_p_a(int ai);
00042 double get_p2_xa(int ai);
00043 double get_p3_xxa(int ai);
00044
00045 void ChebyshevT_old(int n, double x, double &y, double &dy, double &d2y);
00046 void ChebyshevT(int n, double x, double &y, double &dy, double &d2y);
00047 bool isSingular();
00048
00049 void print(ostream& strm);
00050 };
00051
00052 #endif