1#ifndef _product_quadrature_h
2#define _product_quadrature_h
21 class ProductQuadrature;
22 class AngularQuadratureProdGL;
23 class AngularQuadratureProdGLL;
24 class AngularQuadratureProdGLC;
25 class AngularQuadratureProdCustom;
48 const std::vector<double>& polar,
49 const std::vector<double>& in_weights,
55 unsigned int GetAngleNum(
const unsigned int polar_angle_index,
56 const unsigned int azimu_angle_index)
const
59 const std::map<
unsigned int,
92 const std::vector<double>& polar,
93 const std::vector<double>& in_weights,
bool verbose);
AngularQuadratureProdCustom(const std::vector< double > &azimuthal, const std::vector< double > &polar, const std::vector< double > &in_weights, bool verbose)
AngularQuadratureProdGLC(int Na, int Np, bool verbose=false)
AngularQuadratureProdGL(int Np, bool verbose=false)
AngularQuadratureProdGLL(int Na, int Np, bool verbose=false)
std::vector< double > polar_ang_
std::vector< double > azimu_ang_
void AssembleCosines(const std::vector< double > &azimuthal, const std::vector< double > &polar, const std::vector< double > &in_weights, bool verbose)
~ProductQuadrature() override=default
const std::map< unsigned int, std::vector< unsigned int > > & GetDirectionMap() const
unsigned int GetAngleNum(const unsigned int polar_angle_index, const unsigned int azimu_angle_index) const
void OptimizeForPolarSymmetry(double normalization) override
std::map< unsigned int, std::vector< unsigned int > > map_directions_
@ GAUSS_LEGENDRE_CHEBYSHEV
@ GAUSS_LEGENDRE_LEGENDRE