21#ifndef VOTCA_XTP_SPHERE_LEBEDEV_RULE_H
22#define VOTCA_XTP_SPHERE_LEBEDEV_RULE_H
25#include <boost/math/constants/constants.hpp>
46 const QMMolecule &atoms,
const std::string &type)
const;
48 const std::string &element,
const std::string &type)
const;
52 const std::string &type)
const;
58 throw std::runtime_error(
"No Index for Order " + std::to_string(order));
65 throw std::runtime_error(
"No Order for Index " + std::to_string(index));
71 const std::string &element)
const;
75 double *z,
double *w)
const;
77 void ld0006(
double *x,
double *y,
double *z,
double *w)
const;
78 void ld0014(
double *x,
double *y,
double *z,
double *w)
const;
79 void ld0026(
double *x,
double *y,
double *z,
double *w)
const;
80 void ld0038(
double *x,
double *y,
double *z,
double *w)
const;
81 void ld0050(
double *x,
double *y,
double *z,
double *w)
const;
82 void ld0074(
double *x,
double *y,
double *z,
double *w)
const;
83 void ld0086(
double *x,
double *y,
double *z,
double *w)
const;
84 void ld0110(
double *x,
double *y,
double *z,
double *w)
const;
85 void ld0146(
double *x,
double *y,
double *z,
double *w)
const;
86 void ld0170(
double *x,
double *y,
double *z,
double *w)
const;
87 void ld0194(
double *x,
double *y,
double *z,
double *w)
const;
88 void ld0230(
double *x,
double *y,
double *z,
double *w)
const;
89 void ld0266(
double *x,
double *y,
double *z,
double *w)
const;
90 void ld0302(
double *x,
double *y,
double *z,
double *w)
const;
91 void ld0350(
double *x,
double *y,
double *z,
double *w)
const;
92 void ld0434(
double *x,
double *y,
double *z,
double *w)
const;
93 void ld0590(
double *x,
double *y,
double *z,
double *w)
const;
94 void ld0770(
double *x,
double *y,
double *z,
double *w)
const;
95 void ld0974(
double *x,
double *y,
double *z,
double *w)
const;
96 void ld1202(
double *x,
double *y,
double *z,
double *w)
const;
97 void ld1454(
double *x,
double *y,
double *z,
double *w)
const;
98 void ld1730(
double *x,
double *y,
double *z,
double *w)
const;
99 void ld2030(
double *x,
double *y,
double *z,
double *w)
const;
100 void ld2354(
double *x,
double *y,
double *z,
double *w)
const;
101 void ld2702(
double *x,
double *y,
double *z,
double *w)
const;
102 void ld3074(
double *x,
double *y,
double *z,
double *w)
const;
103 void ld3470(
double *x,
double *y,
double *z,
double *w)
const;
104 void ld3890(
double *x,
double *y,
double *z,
double *w)
const;
105 void ld4334(
double *x,
double *y,
double *z,
double *w)
const;
106 void ld4802(
double *x,
double *y,
double *z,
double *w)
const;
107 void ld5294(
double *x,
double *y,
double *z,
double *w)
const;
108 void ld5810(
double *x,
double *y,
double *z,
double *w)
const;
112 const Eigen::Vector3d &r)
const;
void ld1454(double *x, double *y, double *z, double *w) const
void ld1202(double *x, double *y, double *z, double *w) const
void ld3470(double *x, double *y, double *z, double *w) const
Eigen::Matrix4Xd ld_by_order(Index order) const
void ld0038(double *x, double *y, double *z, double *w) const
void ld0302(double *x, double *y, double *z, double *w) const
void ld0006(double *x, double *y, double *z, double *w) const
std::map< Index, Index > Order2Index
std::map< std::string, Index > XcoarseOrder
Index available_table(Index rule) const
void ld0350(double *x, double *y, double *z, double *w) const
void ld2030(double *x, double *y, double *z, double *w) const
void ld0974(double *x, double *y, double *z, double *w) const
void ld4334(double *x, double *y, double *z, double *w) const
void ld1730(double *x, double *y, double *z, double *w) const
void ld0590(double *x, double *y, double *z, double *w) const
Eigen::Vector2d Cartesian2SphericalAngle(const Eigen::Vector3d &r) const
void ld0194(double *x, double *y, double *z, double *w) const
void ld0086(double *x, double *y, double *z, double *w) const
Index getIndexFromOrder(Index order) const
void ld0170(double *x, double *y, double *z, double *w) const
std::map< std::string, Index > CoarseOrder
void ld0770(double *x, double *y, double *z, double *w) const
void ld0110(double *x, double *y, double *z, double *w) const
std::map< Index, Index > Index2Order
std::map< std::string, Index > MediumOrder
Index getOrderFromIndex(Index index) const
void ld0050(double *x, double *y, double *z, double *w) const
void ld2702(double *x, double *y, double *z, double *w) const
void ld0434(double *x, double *y, double *z, double *w) const
void ld5810(double *x, double *y, double *z, double *w) const
void ld4802(double *x, double *y, double *z, double *w) const
void ld3074(double *x, double *y, double *z, double *w) const
void ld0146(double *x, double *y, double *z, double *w) const
void ld0230(double *x, double *y, double *z, double *w) const
Index order_table(Index rule) const
void ld3890(double *x, double *y, double *z, double *w) const
std::map< std::string, GridContainers::spherical_grid > CalculateSphericalGrids(const QMMolecule &atoms, const std::string &type) const
Index Type2MaxOrder(const std::string &element, const std::string &type) const
Index gen_oh(Index code, double a, double b, double v, double *x, double *y, double *z, double *w) const
void ld0014(double *x, double *y, double *z, double *w) const
void ld0266(double *x, double *y, double *z, double *w) const
std::map< std::string, Index > XfineOrder
Index precision_table(Index rule) const
void ld5294(double *x, double *y, double *z, double *w) const
GridContainers::spherical_grid CalculateUnitSphereGrid(const std::string &element, const std::string &type) const
std::map< std::string, Index > FineOrder
void ld2354(double *x, double *y, double *z, double *w) const
void ld0074(double *x, double *y, double *z, double *w) const
void ld0026(double *x, double *y, double *z, double *w) const
base class for all analysis tools