Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
SphericalHarmonics.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007 S.Fairhurst, B. Krishnan, L.Santamaria, C. Robinson,
3 * C. Pankow
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with with program; see the file COPYING. If not, write to the
17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18 * MA 02110-1301 USA
19 */
20
21
22/* includes */
23#include <stdlib.h>
24#include <math.h>
25#include <stdio.h>
26#include <lal/LALStdlib.h>
27#include <lal/LALConstants.h>
28#include <lal/Factorial.h>
29
30#ifndef _SPHERICALHARMONICS_H
31#define _SPHERICALHARMONICS_H
32
33#ifdef __cplusplus /* C++ protection. */
34extern "C" {
35#endif
36
37/**
38 * \defgroup SphericalHarmonics_h Header SphericalHarmonics.h
39 * \ingroup lal_utilities
40 * \author S.Fairhurst, B. Krishnan, L.Santamaria, C. Robinson, C. Pankow
41 *
42 * \brief Library of Spin-weighted Spherical Harmonic functions and an
43 * implementation of the Wigner-D matrices
44 *
45 */
46/** @{ */
47COMPLEX16 XLALSpinWeightedSphericalHarmonic( REAL8 theta, REAL8 phi, int s, int l, int m );
49INT4 XLALSphHarm ( COMPLEX16 *out, UINT4 L, INT4 M, REAL4 theta, REAL4 phi );
50double XLALJacobiPolynomial( int n, int alpha, int beta, double x );
51double XLALWignerdMatrix( int l, int mp, int m, double beta );
52COMPLEX16 XLALWignerDMatrix( int l, int mp, int m, double alpha, double beta, double gam );
53/** @} */
54
55
56#ifdef __cplusplus
57} /* Close C++ protection */
58#endif
59
60#endif /* _SPHERICALHARMONICS_H */
double complex COMPLEX16
Double-precision floating-point complex number (16 bytes total)
double REAL8
Double precision real floating-point number (8 bytes).
uint32_t UINT4
Four-byte unsigned integer.
int32_t INT4
Four-byte signed integer.
float REAL4
Single precision real floating-point number (4 bytes).
static const INT4 m
Definition: Random.c:80
double XLALWignerdMatrix(int l, int mp, int m, double beta)
COMPLEX16 XLALWignerDMatrix(int l, int mp, int m, double alpha, double beta, double gam)
Computes the full Wigner D matrix for the Euler angle alpha, beta, and gamma with major index 'l' and...
double XLALJacobiPolynomial(int n, int alpha, int beta, double x)
Computes the n-th Jacobi polynomial for polynomial weights alpha and beta.
COMPLEX16 XLALSpinWeightedSphericalHarmonic(REAL8 theta, REAL8 phi, int s, int l, int m)
Computes the (s)Y(l,m) spin-weighted spherical harmonic.
int XLALScalarSphericalHarmonic(COMPLEX16 *y, UINT4 l, INT4 m, REAL8 theta, REAL8 phi)
Computes the scalar spherical harmonic .
INT4 XLALSphHarm(COMPLEX16 *out, UINT4 L, INT4 M, REAL4 theta, REAL4 phi)
Computes the spin 2 weighted spherical harmonic.