APFEL 4.8.0
A PDF evolution library in C++
Loading...
Searching...
No Matches
ogataquadrature.h
Go to the documentation of this file.
1//
2// APFEL++ 2017
3//
4// Author: Valerio Bertone: valerio.bertone@cern.ch
5//
6
7#pragma once
8
9#include <vector>
10#include <functional>
11
12namespace apfel
13{
21 {
22 public:
36 OgataQuadrature(int const& nu = 0,
37 double const& CutOff = 1e-5,
38 double const& h = 0.001,
39 int const& nZeroMax = 1000);
40
46 void InitialiseWeights(int const& nZeroMax);
47
57 template<typename T>
58 T transform(std::function<T(double const&)> const& func, double const& qT, bool const& Dynh = true, int const& nmax = 1000, int const& period = 10) const;
59
64 double GetBesselOrder() const { return _nu; }
65
70 double GetCutOff() const { return _CutOff; }
71
76 double GetStepParameter() const { return _h; }
77
83 std::vector<double> GetCoordinates() const { return _xf; }
84
90 std::vector<double> GetWeights() const { return _weights; }
91
96 void SetStepParameter(double const& h) { _h = h; }
97
105 void JnuZerosGenerator(int const& nu) const;
106
107 private:
108 int const _nu;
109 double const _CutOff;
110 double _h;
111 int const _nZeroMax;
112 std::vector<double> _xf;
113 std::vector<double> _weights;
114 };
115}
The OgataQuadrature class implements the Hankel-transform of the input function using the Ogata quadr...
Definition ogataquadrature.h:21
OgataQuadrature(int const &nu=0, double const &CutOff=1e-5, double const &h=0.001, int const &nZeroMax=1000)
The Integrator constructor.
int const _nu
The Bessel order.
Definition ogataquadrature.h:108
std::vector< double > _xf
Unscaled coordinates.
Definition ogataquadrature.h:112
double GetBesselOrder() const
Function that returns the Bessel order.
Definition ogataquadrature.h:64
double GetStepParameter() const
Function that returns the Ogata step parameter.
Definition ogataquadrature.h:76
std::vector< double > _weights
Weights of the quadrature.
Definition ogataquadrature.h:113
void SetStepParameter(double const &h)
Function that sets the Ogata step parameter.
Definition ogataquadrature.h:96
double GetCutOff() const
Function that returns the Ogata cut-off parameter.
Definition ogataquadrature.h:70
double _h
The step parameter.
Definition ogataquadrature.h:110
void InitialiseWeights(int const &nZeroMax)
Function that initialises the coordinates and the weights for the Ogata quadrature.
int const _nZeroMax
The maximum number of zero's initialised.
Definition ogataquadrature.h:111
T transform(std::function< T(double const &)> const &func, double const &qT, bool const &Dynh=true, int const &nmax=1000, int const &period=10) const
Function that transform the input function.
std::vector< double > GetWeights() const
Function that returns the weights used in the Ogata quadrature.
Definition ogataquadrature.h:90
std::vector< double > GetCoordinates() const
Function that returns the unscaled coordinates used in the Ogata quadrature.
Definition ogataquadrature.h:83
double const _CutOff
The target accuracy parameter.
Definition ogataquadrature.h:109
void JnuZerosGenerator(int const &nu) const
Function that writes on screan the first 1000 zeros of the Bessel function J0. This function essentia...
Namespace for all APFEL++ functions and classes.
Definition alphaqcd.h:14