LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomX_PNR.h
Go to the documentation of this file.
1 #ifndef _LALSIM_IMR_PHENOMX_PNR_H
2 #define _LALSIM_IMR_PHENOMX_PNR_H
3 /*
4  * Copyright (C) 2022 Cardiff University
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with with program; see the file COPYING. If not, write to the
18  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301 USA
20  */
21 
22 /**
23  * \author Eleanor Hamilton, Sebastian Khan, Jonathan E. Thompson
24  *
25  */
26 
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31 
33 
34 #include <lal/LALStdlib.h>
35 #include <lal/LALSimIMR.h>
36 #include <lal/LALConstants.h>
37 #include <lal/LALDatatypes.h>
38 #include <lal/Sequence.h>
39 #include <lal/LALDict.h>
40 #include <lal/XLALError.h>
41 
42 #include <lal/FrequencySeries.h>
43 #include <lal/LALSimInspiral.h>
44 
45 #include <math.h>
46 #include <gsl/gsl_spline.h>
47 #include <gsl/gsl_integration.h>
48 
50  REAL8Sequence *alphaPNR,
51  REAL8Sequence *betaPNR,
52  REAL8Sequence *gammaPNR,
53  const REAL8Sequence *freqs,
56  LALDict *lalParams);
57 
59  REAL8Sequence *alphaPNR,
60  REAL8Sequence *betaPNR,
61  REAL8Sequence *gammaPNR,
62  const REAL8Sequence *freqs,
63  IMRPhenomXWaveformStruct *pWF_SingleSpin,
64  IMRPhenomXPrecessionStruct *pPrec_SingleSpin,
69  LALDict *lalParams);
70 
72  IMRPhenomX_PNR_angle_spline *hm_angle_spline,
75  LALDict *lalparams);
76 
78  REAL8Sequence *alphaPNR,
79  const REAL8Sequence *freqs,
82  LALDict *lalParams);
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* _LALSIM_IMR_PHENOMX_PNR_H */
int IMRPhenomX_PNR_GeneratePNRAlphaForAntisymmetry(REAL8Sequence *alphaPNR, const REAL8Sequence *freqs, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, LALDict *lalParams)
Internal helper function to generate PNR alpha for the antisymmetric waveform.
int IMRPhenomX_PNR_GeneratePNRAngles_UniformFrequencies(REAL8Sequence *alphaPNR, REAL8Sequence *betaPNR, REAL8Sequence *gammaPNR, const REAL8Sequence *freqs, IMRPhenomXWaveformStruct *pWF_SingleSpin, IMRPhenomXPrecessionStruct *pPrec_SingleSpin, IMRPhenomX_PNR_alpha_parameters *alphaParams, IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, LALDict *lalParams)
Generate the tuned precession angles outlined in arXiv:2107.08876 specifically on a uniform frequency...
int IMRPhenomX_PNR_GeneratePNRAngles(REAL8Sequence *alphaPNR, REAL8Sequence *betaPNR, REAL8Sequence *gammaPNR, const REAL8Sequence *freqs, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, LALDict *lalParams)
Generate the tuned precession angles outlined in arXiv:2107.08876.
int IMRPhenomX_PNR_GeneratePNRAngleInterpolants(IMRPhenomX_PNR_angle_spline *hm_angle_spline, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, LALDict *lalparams)
Generate the tuned precession angles outlined in arXiv:2107.08876 specifically populate the angle int...