24 #define UNUSED __attribute__ ((unused))
35 #include <lal/Units.h>
36 #include <lal/LALConstants.h>
37 #include <lal/XLALError.h>
63 double alpha = log(2.0 - jf) / log(3);
64 double beta = 1.0 / (2.0 +
l - abs(
m));
79 double kappa2 = kappa * kappa;
80 double kappa3 = kappa2 * kappa;
81 double kappa4 = kappa3 * kappa;
87 complex
double j = _Complex_I;
93 if (2 ==
l && 2 ==
m && 0 == n)
97 ans = 1.0 + kappa * (1.557847 * cexp(2.903124 * j) +
98 1.95097051 * cexp(5.920970 * j) * kappa +
99 2.09971716 * cexp(2.760585 * j) * kappa2 +
100 1.41094660 * cexp(5.914340 * j) * kappa3 +
101 0.41063923 * cexp(2.795235 * j) * kappa4);
103 else if (2 ==
l && 2 ==
m && 1 == n)
107 ans = 1.0 + kappa * (1.870939 * cexp(2.511247 * j) +
108 2.71924916 * cexp(5.424999 * j) * kappa +
109 3.05648030 * cexp(2.285698 * j) * kappa2 +
110 2.05309677 * cexp(5.486202 * j) * kappa3 +
111 0.59549897 * cexp(2.422525 * j) * kappa4);
113 else if (3 ==
l && 2 ==
m && 0 == n)
117 double kappa5 = kappa4 * kappa;
118 double kappa6 = kappa5 * kappa;
121 ans = 1.022464 * cexp(0.004870 * j) +
122 0.24731213 * cexp(0.665292 * j) * kappa +
123 1.70468239 * cexp(3.138283 * j) * kappa2 +
124 0.94604882 * cexp(0.163247 * j) * kappa3 +
125 1.53189884 * cexp(5.703573 * j) * kappa4 +
126 2.28052668 * cexp(2.685231 * j) * kappa5 +
127 0.92150314 * cexp(5.841704 * j) * kappa6;
129 else if (4 ==
l && 4 ==
m && 0 == n)
133 ans = 2.0 + kappa * (2.658908 * cexp(3.002787 * j) +
134 2.97825567 * cexp(6.050955 * j) * kappa +
135 3.21842350 * cexp(2.877514 * j) * kappa2 +
136 2.12764967 * cexp(5.989669 * j) * kappa3 +
137 0.60338186 * cexp(2.830031 * j) * kappa4);
139 else if (2 ==
l && 1 ==
m && 0 == n)
143 double kappa5 = kappa4 * kappa;
144 double kappa6 = kappa5 * kappa;
147 ans = 0.589113 * cexp(0.043525 * j) +
148 0.18896353 * cexp(2.289868 * j) * kappa +
149 1.15012965 * cexp(5.810057 * j) * kappa2 +
150 6.04585476 * cexp(2.741967 * j) * kappa3 +
151 11.12627777 * cexp(5.844130 * j) * kappa4 +
152 9.34711461 * cexp(2.669372 * j) * kappa5 +
153 3.03838318 * cexp(5.791518 * j) * kappa6;
155 else if (3 ==
l && 3 ==
m && 0 == n)
159 ans = 1.5 + kappa * (2.095657 * cexp(2.964973 * j) +
160 2.46964352 * cexp(5.996734 * j) * kappa +
161 2.66552551 * cexp(2.817591 * j) * kappa2 +
162 1.75836443 * cexp(5.932693 * j) * kappa3 +
163 0.49905688 * cexp(2.781658 * j) * kappa4);
165 else if (3 ==
l && 3 ==
m && 1 == n)
169 ans = 1.5 + kappa * (2.339070 * cexp(2.649692 * j) +
170 3.13988786 * cexp(5.552467 * j) * kappa +
171 3.59156756 * cexp(2.347192 * j) * kappa2 +
172 2.44895997 * cexp(5.443504 * j) * kappa3 +
173 0.70040804 * cexp(2.283046 * j) * kappa4);
175 else if (4 ==
l && 3 ==
m && 0 == n)
179 ans = 1.5 + kappa * (0.205046 * cexp(0.595328 * j) +
180 3.10333396 * cexp(3.016200 * j) * kappa +
181 4.23612166 * cexp(6.038842 * j) * kappa2 +
182 3.02890198 * cexp(2.826239 * j) * kappa3 +
183 0.90843949 * cexp(5.915164 * j) * kappa4);
185 else if (5 ==
l && 5 ==
m && 0 == n)
189 ans = 2.5 + kappa * (3.240455 * cexp(3.027869 * j) +
190 3.49056455 * cexp(6.088814 * j) * kappa +
191 3.74704093 * cexp(2.921153 * j) * kappa2 +
192 2.47252790 * cexp(6.036510 * j) * kappa3 +
193 0.69936568 * cexp(2.876564 * j) * kappa4);
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
double SimRingdownCW_KAPPA(double jf, int l, int m)
complex double SimRingdownCW_CW07102016(double kappa, int l, int input_m, int n)