Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef GAUSSLEGENDRESEST_INTEGRATOR_1D_H_
0002 #define GAUSSLEGENDRESEST_INTEGRATOR_1D_H_
0003 
0004 /**
0005  * @file GaussLegendreSeStIntegrator1D.h
0006  * @author Daniele BINOSI (ECT*)
0007  * @date 6 May 2016
0008  * @version 1.0
0009  */
0010 
0011 //#include <string>
0012 #include "QuadratureIntegrator1D.h"
0013 
0014 namespace NumA {
0015 
0016 /**
0017  * @class GaussLegendreSeStIntegrator1D
0018  *
0019  * @brief Gauss-Legendre quadrature.
0020  *
0021  * See Integrator1D documentation for an example.
0022  */
0023 
0024 class GaussLegendreSeStIntegrator1D: public QuadratureIntegrator1D {
0025 public:
0026     /**
0027      * Constructor.
0028      * @param N Order of the quadrature (number of nodes).
0029      */
0030     GaussLegendreSeStIntegrator1D(unsigned int N = 50); // TODO how many steps by default ?
0031     /**
0032      * Default destructor.
0033      */
0034     virtual ~GaussLegendreSeStIntegrator1D();
0035 
0036     virtual void setN(unsigned int n);
0037 
0038     virtual GaussLegendreSeStIntegrator1D* clone() const;
0039 
0040 protected:
0041     /**
0042      * Copy constructor.
0043      * Called by clone().
0044      * @param other GaussLegendreSeStIntegrator1D object to copy.
0045      */
0046     GaussLegendreSeStIntegrator1D(const GaussLegendreSeStIntegrator1D &other);
0047     void setNodesAndWeights(); ///< Computes the nodes and weights of the Gauss-Legendre quadrature. Called when N is set.
0048 };
0049 
0050 } /* namespace NumA */
0051 
0052 #endif /* GAUSSLEGENDRE_INTEGRATOR_1D_H_ */