SFB Decomposition (C++)¶
Return Types¶
-
struct
catana::KClkk¶ Return Type of SFB decomposition methods.
k_ln contains the k at which C_l(k,k) is evaluated c_ln contains the corresponding C_l(k,k) (index 0: 0<l<lmax, index 1: 0<n<nmax)
Public Functions
-
KClkk(unsigned short lmax, unsigned short nmax, double rmax)¶ Construct KClkk for given lmax and nmax.
This will initialize k_ln to the Zeros of the spherical bessel functions normalized with rmax. The c_ln and f_lmn will be set to 0.
- Parameters
lmax: k_ln and c_ln will contain space for l in [0,lmax)nmax: k_ln and c_ln will contain space for n in [0,nmax)rmax: the radius at which the boundary condition f(rmax)=0 is assumed. Will normalize the k_ln at which the c_ln are evaluated.
-
void
savetxt(std::string filename_base)¶ Save k_ln and c_ln to files ‘{filename_base}.(k_ln/c_ln) respectively. Rows are l, columns are n.
-
SFB Decomposition¶
-
KClkk
catana::sfb_decomposition(const PixelizedPointContainer &pix_obj_cont, unsigned short lmax, unsigned short nmax, double rmax, bool store_flmn, bool verbose)¶ compute the SFB transform on a PixelizedPointContainer
This method makes use of the fast pixelized decomposition scheme.
- Return
- SFB components including the k at which they were computed and the C_l(k). If store_flmn, will also save the f_lm(k) components
- Parameters
point_container: data to analyzelmax: largest multipole to computenmax: largest k-index to computermax: maximal radius of datastore_flmn: iftruethe output will contain the f_lmn coefficients, otherwise only the C_lnverbose: iftrueprint additional logging information to stdout
-
KClkk
catana::sfb_decomposition(const PointContainer &points, unsigned short lmax, unsigned short nmax, double rmax, bool store_flmn, bool verbose)¶ compute the SFB transform on a PointContainer
Warning: This method uses the slow brute-force method. Consider using a
PixelizedPointContainerinstead- Return
- SFB components including the k at which they were computed and the C_l(k). If store_flmn, will also save the f_lm(k) components
- Parameters
point_container: data to analyzelmax: largest multipole to computenmax: largest k-index to computermax: maximal radius of datastore_flmn: iftruethe output will contain the f_lmn coefficients, otherwise only the C_lnverbose: iftrueprint additional logging information to stdout
Analyzer¶
The catana::Analyzer class is a convenience wrapper combining data input, filtering and analyzing.
It requires a catana::io::Source and arbitrary catana::io::Filter instances can be added
for filtering.
-
class
catana::Analyzer¶ The Analyzer Class combines input (source, filters) and decomposition.
Public Functions
-
Analyzer()¶
-
Analyzer(io::Source *source)¶ Construct from a child class of source and a window volume for normalization.
-
void
set_subsample_size(unsigned int n)¶ If only a random subset of source shall be decomposed, set subsample size here.
-