|
1 #ifndef NPSTAT_SBMOMENTSCALCULATOR_HH_
2 #define NPSTAT_SBMOMENTSCALCULATOR_HH_
28 virtual bool calculate(
29 long double p0, long double p1,
30 long double *mean, long double *var,
31 long double *skew, long double *kurt,
32 long double *dskewdp0, long double *dskewdp1,
33 long double *dkurtdp0, long double *dkurtdp1) const = 0;
35 virtual void getParameters(
36 long double gamma, long double delta,
37 long double *p0, long double *p1) const = 0;
39 virtual void getGammaDelta(
40 long double p0, long double p1,
41 long double *gamma, long double *delta) const = 0;
49 virtual bool integrate6(
50 long double a, long double b, long double *results) const = 0;
53 long double p0, long double p1,
54 long double *mean, long double *var,
55 long double *skew, long double *kurt,
56 long double *dskewdp0, long double *dskewdp1,
57 long double *dkurtdp0, long double *dkurtdp1) const;
60 long double gamma, long double delta,
61 long double *p0, long double *p1) const;
64 long double p0, long double p1,
65 long double *gamma, long double *delta) const;
77 long double a, long double b, long double *results) const;
91 long double a, long double b, long double *results) const;
93 void central_integ_big_a( long double a, long double b,
94 long double* p) const;
100 explicit SbMomentsMix( double mixPoint=0.95, unsigned npointsHemite=256U,
101 unsigned npointsLegendre=128U);
104 inline double mixPoint() const { return mixPoint_;}
105 inline void setMixPoint( double mixPoint) {mixPoint_ = mixPoint;}
108 long double a, long double b, long double *results) const;
120 long double operator()( const long double& x) const;
134 long double operator()( const long double& x) const;
148 long double operator()( const long double& x) const;
162 long double p0, long double p1,
163 long double *mean, long double *var,
164 long double *skew, long double *kurt,
165 long double *dskewdp0, long double *dskewdp1,
166 long double *dkurtdp0, long double *dkurtdp1) const;
169 long double gamma, long double delta,
170 long double *p0, long double *p1) const;
173 long double p0, long double p1,
174 long double *gamma, long double *delta) const;
182 long double p0, long double p1,
183 long double *mean, long double *var,
184 long double *skew, long double *kurt,
185 long double *dskewdp0, long double *dskewdp1,
186 long double *dkurtdp0, long double *dkurtdp1) const;
189 long double gamma, long double delta,
190 long double *p0, long double *p1) const;
193 long double p0, long double p1,
194 long double *gamma, long double *delta) const;
202 void setMaxDeg( unsigned maxdeg);
203 inline unsigned maxdeg() const { return maxdeg_;}
204 unsigned bestDeg( long double p0, long double p1) const;
207 long double p0, long double p1,
208 long double *mean, long double *var,
209 long double *skew, long double *kurt,
210 long double *dskewdp0, long double *dskewdp1,
211 long double *dkurtdp0, long double *dkurtdp1) const;
214 long double gamma, long double delta,
215 long double *p0, long double *p1) const;
218 long double p0, long double p1,
219 long double *gamma, long double *delta) const;
Gauss-Hermite quadratures in long double precision.
Gauss-Legendre quadratures in long double precision.
Interface definitions and concrete simple functors for a variety of functor-based calculations.
Definition: GaussHermiteQuadrature.hh:26
Definition: GaussLegendreQuadrature.hh:27
Definition: SbMomentsCalculator.hh:116
Definition: SbMomentsCalculator.hh:130
Definition: SbMomentsCalculator.hh:144
Definition: AbsArrayProjector.hh:14
Definition: SimpleFunctors.hh:58
Definition: SbMomentsCalculator.hh:158
Definition: SbMomentsCalculator.hh:178
Definition: SbMomentsCalculator.hh:198
Definition: SbMomentsCalculator.hh:45
Definition: SbMomentsCalculator.hh:23
Definition: SbMomentsCalculator.hh:69
Definition: SbMomentsCalculator.hh:99
Definition: SbMomentsCalculator.hh:83
|