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
: iftrue
the output will contain the f_lmn coefficients, otherwise only the C_lnverbose
: iftrue
print 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
PixelizedPointContainer
instead- 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
: iftrue
the output will contain the f_lmn coefficients, otherwise only the C_lnverbose
: iftrue
print 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.
-