DiFfRG
Loading...
Searching...
No Matches
DiFfRG::Integrator3DCartesianTBB< NT, KERNEL > Class Template Reference

#include <integrator_3D_cartesian_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

 Integrator3DCartesianTBB (QuadratureProvider &quadrature_provider, const std::array< uint, 3 > grid_sizes, const ctype x_extent, const JSONValue &json)
 
 Integrator3DCartesianTBB (QuadratureProvider &quadrature_provider, std::array< uint, 3 > grid_sizes, const ctype x_extent=0., const uint max_block_size=0, const ctype qx_min=-M_PI, const ctype qy_min=-M_PI, const ctype qz_min=-M_PI, const ctype qx_max=M_PI, const ctype qy_max=M_PI, const ctype qz_max=M_PI)
 
void set_qx_min (const ctype qx_min)
 Set the minimum value of the qx integration range.
 
void set_qy_min (const ctype qy_min)
 Set the minimum value of the qy integration range.
 
void set_qz_min (const ctype qz_min)
 Set the minimum value of the qz integration range.
 
void set_qx_max (const ctype qx_max)
 Set the maximum value of the qx integration range.
 
void set_qy_max (const ctype qy_max)
 Set the maximum value of the qy integration range.
 
void set_qz_max (const ctype qz_max)
 Set the maximum value of the qz integration range.
 
template<typename... T>
NT get (const ctype k, const T &...t) const
 
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
 
ctype qx_min = -M_PI
 
ctype qy_min = -M_PI
 
ctype qx_extent = 2 * M_PI
 
ctype qy_extent = 2 * M_PI
 
ctype qz_min = -M_PI
 
ctype qz_extent = 2 * M_PI
 
const std::vector< ctype > & x_quadrature_p
 
const std::vector< ctype > & x_quadrature_w
 
const std::vector< ctype > & y_quadrature_p
 
const std::vector< ctype > & y_quadrature_w
 
const std::vector< ctype > & z_quadrature_p
 
const std::vector< ctype > & z_quadrature_w
 

Member Typedef Documentation

◆ ctype

template<typename NT , typename KERNEL >
using DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::ctype = typename get_type::ctype<NT>

Numerical type to be used for integration tasks e.g. the argument or possible jacobians.

Constructor & Destructor Documentation

◆ Integrator3DCartesianTBB() [1/2]

template<typename NT , typename KERNEL >
DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::Integrator3DCartesianTBB ( QuadratureProvider & quadrature_provider,
const std::array< uint, 3 > grid_sizes,
const ctype x_extent,
const JSONValue & json )
inline

◆ Integrator3DCartesianTBB() [2/2]

template<typename NT , typename KERNEL >
DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::Integrator3DCartesianTBB ( QuadratureProvider & quadrature_provider,
std::array< uint, 3 > grid_sizes,
const ctype x_extent = 0.,
const uint max_block_size = 0,
const ctype qx_min = -M_PI,
const ctype qy_min = -M_PI,
const ctype qz_min = -M_PI,
const ctype qx_max = M_PI,
const ctype qy_max = M_PI,
const ctype qz_max = M_PI )
inline

Member Function Documentation

◆ get()

template<typename NT , typename KERNEL >
template<typename... T>
NT DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::get ( const ctype k,
const T &... t ) const
inline

◆ request()

template<typename NT , typename KERNEL >
template<typename... T>
std::future< NT > DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::request ( const ctype k,
const T &... t ) const
inline

Request a future for the integral of the kernel.

Template Parameters
TTypes of the parameters for the kernel.
Parameters
kRG-scale.
tParameters forwarded to the kernel.
Returns
std::future<NT> future holding the integral of the kernel plus the constant part.

◆ set_qx_max()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qx_max ( const ctype qx_max)
inline

Set the maximum value of the qx integration range.

◆ set_qx_min()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qx_min ( const ctype qx_min)
inline

Set the minimum value of the qx integration range.

◆ set_qy_max()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qy_max ( const ctype qy_max)
inline

Set the maximum value of the qy integration range.

◆ set_qy_min()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qy_min ( const ctype qy_min)
inline

Set the minimum value of the qy integration range.

◆ set_qz_max()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qz_max ( const ctype qz_max)
inline

Set the maximum value of the qz integration range.

◆ set_qz_min()

template<typename NT , typename KERNEL >
void DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::set_qz_min ( const ctype qz_min)
inline

Set the minimum value of the qz integration range.

Member Data Documentation

◆ grid_sizes

template<typename NT , typename KERNEL >
const std::array<uint, 3> DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::grid_sizes
private

◆ qx_extent

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qx_extent = 2 * M_PI
private

◆ qx_min

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qx_min = -M_PI
private

◆ qy_extent

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qy_extent = 2 * M_PI
private

◆ qy_min

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qy_min = -M_PI
private

◆ qz_extent

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qz_extent = 2 * M_PI
private

◆ qz_min

template<typename NT , typename KERNEL >
ctype DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::qz_min = -M_PI
private

◆ x_quadrature_p

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::x_quadrature_p
private

◆ x_quadrature_w

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::x_quadrature_w
private

◆ y_quadrature_p

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::y_quadrature_p
private

◆ y_quadrature_w

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::y_quadrature_w
private

◆ z_quadrature_p

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::z_quadrature_p
private

◆ z_quadrature_w

template<typename NT , typename KERNEL >
const std::vector<ctype>& DiFfRG::Integrator3DCartesianTBB< NT, KERNEL >::z_quadrature_w
private

The documentation for this class was generated from the following file: