40 #ifndef _LALSIMIMRSPINEOBFACTORIZEDWAVEFORMPA_C
41 #define _LALSIMIMRSPINEOBFACTORIZEDWAVEFORMPA_C
45 #include <gsl/gsl_vector.h>
46 #include <gsl/gsl_matrix.h>
47 #include <gsl/gsl_spline.h>
48 #include <gsl/gsl_linalg.h>
50 #include <lal/LALSimInspiral.h>
51 #include <lal/LALSimIMR.h>
52 #include <lal/XLALGSL.h>
112 REAL8 r,
pp, Omega, v2, vh, vh3, k, hathatk, eulerlogxabs;
113 REAL8 Slm, deltalm, rholm;
117 gsl_sf_result lnr1, arg1,
z2;
134 eta =
params->eobParams->eta;
137 if (eta > 0.25 && eta < 0.25 +1
e-4) {
143 (
"XLAL Error - %s: Eta = %.16f seems to be > 0.25 - this isn't allowed!\n",
156 pp = values->data[3];
168 vPhi =
r * cbrt (vPhi);
196 if (((
l +
m) % 2) == 0)
210 gsl_sf_lngamma_complex_e (
l + 1.0, -2.0 * hathatk, &lnr1,
212 if (
status != GSL_SUCCESS)
215 __func__, gsl_strerror (
status));
219 if (
status != GSL_SUCCESS)
222 __func__, gsl_strerror (
status));
226 cexp ((lnr1.val +
LAL_PI * hathatk) +
227 I * (arg1.val + 2.0 * hathatk * log (4.0 * k / sqrt (
LAL_E))));
304 auxflm = v * hCoeffs->
f21v1;
336 auxflm = v * (v2 * (hCoeffs->
f33v3 + v * (hCoeffs->
f33v4 + v * (hCoeffs->
f33v5 + v * hCoeffs->
f33v6)))) + _Complex_I * vh3 * vh3 * hCoeffs->
f33vh6;
351 auxflm = v * v2 * hCoeffs->
f33v3;
361 1. + v * (hCoeffs->
rho32v +
371 eulerlogxabs) * v2))))));
391 eulerlogxabs) * v))))));
392 auxflm = v * v2 * hCoeffs->
f31v3;
408 rholm = 1. + v2 * (hCoeffs->
rho44v2
426 rholm = 1. + v2 * (hCoeffs->
rho44v2
447 1. + v * (hCoeffs->
rho43v +
454 auxflm = v * hCoeffs->
f43v;
458 rholm = 1. + v2 * (hCoeffs->
rho42v2
464 eulerlogxabs) * v))));
472 1. + v * (hCoeffs->
rho41v +
479 auxflm = v * hCoeffs->
f41v;
505 auxflm = v2 * v * (hCoeffs->
f55v3 + v * (hCoeffs->
f55v4 + v * (hCoeffs->
f55v5c) ));
526 rholm = 1. + v2 * (hCoeffs->
rho53v2
538 rholm = 1. + v2 * (hCoeffs->
rho51v2
592 rholm = 1. + hCoeffs->
rho76v2 * v2;
600 rholm = 1. + hCoeffs->
rho74v2 * v2;
608 rholm = 1. + hCoeffs->
rho72v2 * v2;
624 rholm = 1. + hCoeffs->
rho88v2 * v2;
628 rholm = 1. + hCoeffs->
rho87v2 * v2;
632 rholm = 1. + hCoeffs->
rho86v2 * v2;
636 rholm = 1. + hCoeffs->
rho85v2 * v2;
640 rholm = 1. + hCoeffs->
rho84v2 * v2;
644 rholm = 1. + hCoeffs->
rho83v2 * v2;
648 rholm = 1. + hCoeffs->
rho82v2 * v2;
652 rholm = 1. + hCoeffs->
rho81v2 * v2;
666 for(
i = 0 ;
i <
l ;
i++) rholmPwrl *= rholm;
672 if (eta == 0.25 &&
m % 2)
681 *hlm = Tlm * cexp (I * deltalm) * Slm * rholmPwrl;
static UNUSED int XLALSimIMRSpinEOBCalculateNewtonianMultipole(COMPLEX16 *multipole, REAL8 x, UNUSED REAL8 r, REAL8 phi, UINT4 l, INT4 m, EOBParams *params)
This function calculates the Newtonian multipole part of the factorized waveform for the SEOBNRv1 mod...
static REAL8 UNUSED z2(REAL8 e0, REAL8 f0, REAL8 inc, REAL8 bet, REAL8 FPlus, REAL8 FCross)
#define XLAL_CALLGSL(statement)
int XLALPrintError(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1
Parameters for the spinning EOB model.