Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:48:22

0001 #ifndef CHEBYSHEVA_INTEGRATOR_1D_H
0002 #define CHEBYSHEVA_INTEGRATOR_1D_H
0003 
0004 /**
0005  * @file ChebyshevAIntegrator1D.h
0006  * @author Daniele BINOSI (ECT*)
0007  * @date 27 April 2016
0008  * @version 1.0
0009  */
0010 
0011 //#include <string>
0012 #include "QuadratureIntegrator1D.h"
0013 
0014 class FunctionType1D;
0015 
0016 namespace NumA {
0017 
0018 /**
0019  * @class ChebyshevAIntegrator1D
0020  *
0021  * @brief Chebyshev quadrature for computing the integral \f$ \int_{-1}^1 \mathrm{dx} f(x) \sqrt{1-x^2} \f$.
0022  *
0023  * See Integrator1D documentation for an example.
0024  */
0025 
0026 class ChebyshevAIntegrator1D: public QuadratureIntegrator1D {
0027 public:
0028     ChebyshevAIntegrator1D(unsigned int N = 48);
0029     virtual ~ChebyshevAIntegrator1D();
0030 
0031     virtual ChebyshevAIntegrator1D* clone() const;
0032 
0033     virtual void setN(unsigned int n);
0034 
0035     // Not needed anymore, done in parent class.
0036 //    virtual double integrate(FunctionType1D* pFunction, double a, double b,
0037 //            std::vector<double>& parameters);
0038 
0039 protected:
0040     ChebyshevAIntegrator1D(const ChebyshevAIntegrator1D &other);
0041     void setNodesAndWeights();
0042 };
0043 
0044 } /* namespace NumA */
0045 
0046 #endif /* CHEBYSHEVA_INTEGRATOR_1D_H */