31 #include <blitz/array.h> 32 #include <gsl/gsl_sf_legendre.h> 51 blitz::TinyVector<ptrdiff_t,2>
const &index,
int bw);
58 void SH_dtheta_up(
double const *c,
int bw,
double * d_theta);
60 void SH_dtheta(FrequencyArray
const &c, SpatialArray &d_theta,
63 void SH_dtheta(
double const *c,
int bw,
double *d_theta,
int degree = 1);
65 void SH_dpsi(
double const *c,
int bw,
double *d_psi);
67 void SH_normal(
double const *cx,
double const *cy ,
double const *cz,
68 double *nx,
double *ny,
double *nz,
int bw);
70 void SH_normal(
double const *cx,
double *nx,
double *ny,
double *nz,
int bw);
72 void SH_curvature(
double const *cx,
double *curvature,
int bw);
74 float SH_volume(
double const *cx,
int bw);
76 void SH_curvature(
double const *cx,
double const *cy ,
double const *cz,
77 double *curvature,
int bw);
80 double const *cz,
double *curvature,
int bw);
83 double *curvature,
int bw);
ptrdiff_t phiToIndex(double phi, int bw)
double indexToTheta(ptrdiff_t index, int bw)
float SH_volume(double const *cx, int bw)
blitz::Array< std::complex< double >, 2 > SpatialArray
std::vector< SpatialArray * > SpatialVecArray
blitz::Array< std::complex< double >, 1 > FrequencyArray
void SH_dtheta(FrequencyArray const &c, SpatialArray &d_theta, int degree)
blitz::TinyVector< double, 2 > indexToAngles(blitz::TinyVector< ptrdiff_t, 2 > const &index, int bw)
void SH_normal(double const *cx, double const *cy, double const *cz, double *nx, double *ny, double *nz, int bw)
void SH_curvature_gaussian(double const *cx, double const *cy, double const *cz, double *curvature, int bw)
ptrdiff_t thetaToIndex(double theta, int bw)
std::vector< FrequencyArray * > FrequencyVecArray
void SH_curvature(double const *cx, double *curvature, int bw)
void SH_dtheta_up(double const *c, int bw, double *d_theta)
ptrdiff_t linearIndex(int bw, int l, int m)
double indexToPhi(ptrdiff_t index, int bw)
void SH_dpsi(double const *c, int bw, double *d_psi)
void SH_curvature_hesse(double const *cx, double const *cy, double const *cz, double *curvature, int bw)