40 VavilovAccuratePdf::VavilovAccuratePdf() {
48 VavilovAccuratePdf::VavilovAccuratePdf(
const double *p) {
50 for (
int i = 0; i < 5; ++i)
61 VavilovAccuratePdf::~VavilovAccuratePdf ()
64 const double * VavilovAccuratePdf::Parameters()
const {
68 void VavilovAccuratePdf::SetParameters(
const double * p ) {
70 for (
int i = 0; i < 5; ++i)
74 unsigned int VavilovAccuratePdf::NPar()
const {
78 std::string VavilovAccuratePdf::ParameterName(
unsigned int i)
const {
80 case 0:
return "Norm";
break;
81 case 1:
return "x0";
break;
82 case 2:
return "xi";
break;
83 case 3:
return "kappa";
break;
84 case 4:
return "beta2";
break;
89 double VavilovAccuratePdf::DoEval(
double x)
const {
90 VavilovAccurate v(fP[3], fP[4]);
91 return fP[0]/fP[2]*v.Pdf ((x-fP[1])/fP[2]);
94 double VavilovAccuratePdf::DoEvalPar(
double x,
const double * p)
const {
97 VavilovAccurate v(p[3], p[4]);
98 return p[0]/p[2]*v.Pdf ((x-p[1])/p[2]);
101 IBaseFunctionOneDim * VavilovAccuratePdf::Clone()
const {
102 return new VavilovAccuratePdf (*
this);