34 const std::vector<Real>& integration_factors,
35 const std::vector<Real>& function,
38 const std::vector<Real>& q_points,
39 std::vector<Real>& fourier_transform) {
40 fourier_transform.resize(q_points.size());
41 std::vector<Real> integrand(mesh_size);
42 std::vector<Real> bessel_values(mesh_size);
43 for (
size_t q_index = 0; q_index < q_points.size(); q_index++) {
44 Real q_value = q_points[q_index];
46 for (
int grid_index = 0; grid_index < mesh_size; grid_index++) {
47 integrand[grid_index] =
48 function[grid_index] * grid[grid_index] * bessel_values[grid_index];
50 fourier_transform[q_index] =
void transform_spherical_bessel(const std::vector< Real > &grid, const std::vector< Real > &integration_factors, const std::vector< Real > &function, int degree, int mesh_size, const std::vector< Real > &q_points, std::vector< Real > &fourier_transform)