LevelS C++ support library  3.83
Public Member Functions | List of all members
wignergen_scalar Class Reference

#include <wigner.h>

Inherited by wignergen.

Public Member Functions

 wignergen_scalar (int lmax_, const arr< double > &thetas, double epsilon)
 
void prepare (int m1_, int m2_)
 
const arr< double > & calc (int nth, int &firstl)
 

Detailed Description

Class for calculation of the Wigner matrix elements by l-recursion. For details, see Prezeau & Reinecke 2010, http://arxiv.org/pdf/1002.1050

Definition at line 116 of file wigner.h.

Constructor & Destructor Documentation

◆ wignergen_scalar()

wignergen_scalar::wignergen_scalar ( int  lmax_,
const arr< double > &  thetas,
double  epsilon 
)

Constructs an object that can compute Wigner matrix elements up to a maximum l value of lmax_, at the colatitudes provided in thetas. The generator will be allowed to regard values with absolute magnitudes smaller than epsilon as zero; a typical value is 1e-30.

Definition at line 265 of file wigner.cc.

Member Function Documentation

◆ prepare()

void wignergen_scalar::prepare ( int  m1_,
int  m2_ 
)

Prepares the object to produce Wigner matrix elements with m=m1_ and m'=m2_ in subsequent calls to calc(). This operation is not cheap so it is recommended to use calc() for many different colatitudes after every call to prepare(), if possible.

Definition at line 311 of file wigner.cc.

◆ calc()

const arr< double > & wignergen_scalar::calc ( int  nth,
int &  firstl 
)

Computes the Wigner matrix elements for the values of m and m' set by the preceding call to prepare(), for all l up to lmax (set in the constructor), and for the nth colatitude passed to the constructor. On return, firstl contains the index of the first matrix element larger than epsilon; all values with smaller indices in the result array are undefined.

Definition at line 361 of file wigner.cc.


The documentation for this class was generated from the following files:

Generated on Wed Nov 13 2024 12:18:16 for LevelS C++ support library