DiFfRG
|
Integrator for 2+1D integrals over p, q0 and an angle using TBB. Calculates. More...
#include <integrator_2Dpq0_cpu.hh>
Public Types | |
using | ctype = typename get_type::ctype<NT> |
Numerical type to be used for integration tasks e.g. the argument or possible jacobians. | |
Public Member Functions | |
Integrator2Dpq0TBB (QuadratureProvider &quadrature_provider, const std::array< uint, 3 > grid_sizes, const ctype x_extent, const ctype q0_extent, const JSONValue &) | |
Construct a new Integrator2Dpq0TBB object. | |
Integrator2Dpq0TBB (QuadratureProvider &quadrature_provider, std::array< uint, 3 > grid_sizes, const ctype x_extent, const ctype q0_extent, const uint max_block_size=0) | |
Construct a new Integrator2Dpq0TBB object. | |
template<typename... T> | |
NT | get (const ctype k, const T &...t) const |
Get the integral of the kernel. | |
template<typename... T> | |
std::future< NT > | request (const ctype k, const T &...t) const |
Request a future for the integral of the kernel. | |
Private Attributes | |
const std::array< uint, 3 > | grid_sizes |
const ctype | x_extent |
const ctype | q0_extent |
const std::vector< ctype > & | x_quadrature_p |
const std::vector< ctype > & | x_quadrature_w |
const std::vector< ctype > & | ang_quadrature_p |
const std::vector< ctype > & | ang_quadrature_w |
const std::vector< ctype > & | q0_quadrature_p |
const std::vector< ctype > & | q0_quadrature_w |
Integrator for 2+1D integrals over p, q0 and an angle using TBB. Calculates.
\[ \int dp dcos dq0 f(p, cos, q0) + c \]
NT | Numerical type. |
KERNEL | Kernel to integrate. Must have a static constant member function constant which supplies c and a static member function kernel which supplies the integrand. |
using DiFfRG::Integrator2Dpq0TBB< NT, KERNEL >::ctype = typename get_type::ctype<NT> |
Numerical type to be used for integration tasks e.g. the argument or possible jacobians.
|
inline |
Construct a new Integrator2Dpq0TBB object.
quadrature_provider | QuadratureProvider object. |
grid_sizes | Grid sizes for the integrator. |
x_extent | Extent of the x-quadrature. |
q0_extent | Extent of the q0-quadrature. |
json | JSON object. |
|
inline |
Construct a new Integrator2Dpq0TBB object.
quadrature_provider | QuadratureProvider object. |
grid_sizes | Grid sizes for the integrator. |
x_extent | Extent of the x-quadrature. |
q0_extent | Extent of the q0-quadrature. |
max_block_size | Maximum block size for the TBB parallel_reduce. |
|
inline |
Get the integral of the kernel.
T | Types of the parameters for the kernel. |
k | RG-scale. |
t | Parameters forwarded to the kernel. |
|
inline |
Request a future for the integral of the kernel.
T | Types of the parameters for the kernel. |
k | RG-scale. |
t | Parameters forwarded to the kernel. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |