ARTS  2.3.1285(git:92a29ea9-dirty)
wigner_functions.h
Go to the documentation of this file.
1 /* Copyright (C) 2012
2  * Richard Larsson <ric.larsson@gmail.com>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2, or (at your option) any
7  * later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  * USA. */
18 
27 #include <wigner/wigxjpf/inc/wigxjpf.h>
28 #include "rational.h"
29 
30 #ifdef FAST_WIGNER_PATH_3J
31 #define DO_FAST_WIGNER 1
32 #include <wigner/fastwigxj/inc/fastwigxj.h>
33 #else
34 #define DO_FAST_WIGNER 0
35 #endif
36 
57 Numeric wigner3j(const Rational j1,
58  const Rational j2,
59  const Rational j3,
60  const Rational m1,
61  const Rational m2,
62  const Rational m3);
63 
84 Numeric wigner6j(const Rational j1,
85  const Rational j2,
86  const Rational j3,
87  const Rational l1,
88  const Rational l2,
89  const Rational l3);
90 
123  int Ji, int Jf, int Ji_p, int Jf_p, int L, int li, int lf);
124 
125 
132 
174  int Nl, int Nk, int Jl, int Jk, int Jl_p, int Jk_p, int L);
175 
218  const Rational& Ji,
219  const Rational& Jf,
220  const Rational& Ni,
221  const Rational& Nf,
222  const Rational& Si,
223  const Rational& Sf,
224  const Rational& Ji_p,
225  const Rational& Jf_p,
226  const Rational& Ni_p,
227  const Rational& Nf_p,
228  const Rational& n,
229  const Numeric& T);
230 
241  const Rational& Jup,
242  const Rational& Jlo,
243  const Rational& N);
244 
252 Index make_wigner_ready(int largest, int fastest, int size);
253 
260 bool is_wigner_ready(int j);
261 
268 bool is_wigner3_ready(const Rational& J);
269 
276 bool is_wigner6_ready(const Rational& J);
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Numeric o2_ecs_wigner_symbol_tran(const Rational &Ji, const Rational &Jf, const Rational &Ni, const Rational &Nf, const Rational &Si, const Rational &Sf, const Rational &Ji_p, const Rational &Jf_p, const Rational &Ni_p, const Rational &Nf_p, const Rational &n, const Numeric &T)
Returns the wigner symbol used in Tran etal 2006.
Numeric o2_ecs_erot_jn_same(Rational J)
Energy of the J=N line at J.
Numeric wigner3j(const Rational j1, const Rational j2, const Rational j3, const Rational m1, const Rational m2, const Rational m3)
Wigner 3J symbol.
Numeric wigner6j(const Rational j1, const Rational j2, const Rational j3, const Rational l1, const Rational l2, const Rational l3)
Wigner 6J symbol.
bool is_wigner3_ready(const Rational &J)
Tells if the function is ready for Wigner 3J calculations.
Numeric o2_ecs_wigner_symbol(int Nl, int Nk, int Jl, int Jk, int Jl_p, int Jk_p, int L)
Returns the wigner symbol used in Makarov etal 2013.
bool is_wigner_ready(int j)
Tells if the function can deal with the input integer.
Implements rational numbers to work with other ARTS types.
Definition: rational.h:54
Numeric co2_ecs_wigner_symbol(int Ji, int Jf, int Ji_p, int Jf_p, int L, int li, int lf)
Returns the wigner symbol used in Niro etal 2004.
bool is_wigner6_ready(const Rational &J)
Tells if the function is ready for Wigner 6J calculations.
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Numeric o2_makarov2013_reduced_dipole(const Rational &Jup, const Rational &Jlo, const Rational &N)
Returns the reduced dipole moment following Makarov etal 2013.
Index make_wigner_ready(int largest, int fastest, int size)
Ready Wigner.
Contains the rational class definition.