LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomX_PNR_beta.h
Go to the documentation of this file.
1 #ifndef _LALSIM_IMR_PHENOMX_PNR_BETA_H
2 #define _LALSIM_IMR_PHENOMX_PNR_BETA_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 
32  typedef struct tagIMRPhenomX_PNR_beta_parameters
33  {
34  // beta Ansatz terms
41 
42  // connection values
51 
53 
55  REAL8 Mf,
56  const IMRPhenomX_PNR_beta_parameters *betaParams,
59  IMRPhenomXWaveformStruct *pWF_SingleSpin,
60  IMRPhenomXPrecessionStruct *pPrec_SingleSpin);
61 
63  REAL8 Mf,
64  const IMRPhenomX_PNR_beta_parameters *betaParams,
67  IMRPhenomXWaveformStruct *pWF_SingleSpin,
68  IMRPhenomXPrecessionStruct *pPrec_SingleSpin);
69 
71  REAL8 Mf,
74 
78 
80  REAL8 Mf,
81  const IMRPhenomX_PNR_beta_parameters *betaParams,
84  IMRPhenomXWaveformStruct *pWF_SingleSpin,
85  IMRPhenomXPrecessionStruct *pPrec_SingleSpin);
86 
88  REAL8 Mf,
91 
93  REAL8 Mf,
94  REAL8 MSA_beta,
97 
99 
101 
103  IMRPhenomX_PNR_beta_parameters *betaParams,
106 
107  REAL8 IMRPhenomX_PNR_beta_rescaling_1(REAL8 Mf, REAL8 beta1, REAL8 beta2, REAL8 dbeta1, REAL8 dbeta2);
108  REAL8 IMRPhenomX_PNR_beta_rescaling_2(REAL8 Mf, REAL8 beta1, REAL8 beta2, REAL8 dbeta1, REAL8 dbeta2);
110 
115 
117  IMRPhenomX_PNR_beta_parameters *betaParams);
118 
122 
124  IMRPhenomX_PNR_beta_parameters *betaParams,
127  IMRPhenomXWaveformStruct *pWF_SingleSpin,
128  IMRPhenomXPrecessionStruct *pPrec_SingleSpin);
129 
131 
133 
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 #endif /*_LALSIM_IMR_PHENOMX_PNR_BETA_H*/
REAL8 IMRPhenomX_PNR_MR_dbeta_expression(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams)
expression for first derivative of beta in merger-ringdown regime
UINT4 IMRPhenomX_PNR_AttachMRBeta(const IMRPhenomX_PNR_beta_parameters *betaParams)
Determine whether to attach the MR contributions to beta.
COMPLEX16 * IMRPhenomX_PNR_three_inflection_points(const IMRPhenomX_PNR_beta_parameters *betaParams)
Compute the three roots of a depressed cubic given by Eq.
REAL8 IMRPhenomX_PNR_MR_ddbeta_expression(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams)
expression for second derivative of beta in merger-ringdown regime
REAL8 IMRPhenomX_PNR_GeneratePNRBetaNoMR(REAL8 Mf, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec)
This function evaluates only the rescaled inspiral beta given in Eq.
REAL8 IMRPhenomX_PNR_MR_dddbeta_expression(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams)
expression for third derivative of beta in merger-ringdown regime
REAL8 IMRPhenomX_PNR_GenerateRingdownPNRBeta(IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec)
We evaluate beta at the final Mf_beta_upper connection frequency to approximate the final value of be...
REAL8 IMRPhenomX_PNR_GetPNBetaAtFreq(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, IMRPhenomXWaveformStruct *pWF_SingleSpin, IMRPhenomXPrecessionStruct *pPrec_SingleSpin)
A wrapper to produce either the NNLO or MSA beta depending on the IMRPhenomXPrecVersion.
REAL8 IMRPhenomX_PNR_arctan_window(REAL8 beta)
Utility function to compute the arctan windowing described in Eq.
int IMRPhenomX_PNR_precompute_beta_coefficients(IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec)
This function evaluates the Ansatz coefficients of beta outlined in Eq.
REAL8 IMRPhenomX_PNR_MR_beta_expression(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams)
These four functions produce the MR Ansatz of beta described in Sec.
REAL8 IMRPhenomX_PNR_GetPNBetaAtFreq_fulltwospin(REAL8 Mf, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec)
A wrapper to produce either the NNLO or MSA beta depending on the IMRPhenomXPrecVersion.
REAL8 IMRPhenomX_PNR_beta_rescaling_2(REAL8 Mf, REAL8 beta1, REAL8 beta2, REAL8 dbeta1, REAL8 dbeta2)
REAL8 IMRPhenomX_PNR_PNWaveformBetaWrapper(REAL8 Mf, REAL8 MSA_beta, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec)
A wrapper to generate the "waveform" PN beta from Eq.
REAL8 IMRPhenomX_PNR_GenerateMergedPNRBetaAtMf(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, IMRPhenomXWaveformStruct *pWF_SingleSpin, IMRPhenomXPrecessionStruct *pPrec_SingleSpin)
This function generates beta with the tuned angles and PN expressions blended during merger-ringdown.
REAL8 IMRPhenomX_PNR_chi_calc(REAL8 m1, REAL8 L, REAL8 J0, REAL8 L0, REAL8 chi_parr, REAL8 beta)
The magnitude of the effective total spin is computed from the total and orbital angular momenta,...
int IMRPhenomX_PNR_BetaConnectionFrequencies(IMRPhenomX_PNR_beta_parameters *betaParams)
Here we work through the construction of the connection frequency for beta, outlined in Sec.
int IMRPhenomX_PNR_beta_connection_parameters(IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, IMRPhenomXWaveformStruct *pWF_SingleSpin, IMRPhenomXPrecessionStruct *pPrec_SingleSpin)
This function combines several functions together to compute the connection frequencies and the inspi...
REAL8 IMRPhenomX_PNR_rescale_beta_expression(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams)
REAL8 IMRPhenomX_PNR_GeneratePNRBetaAtMf(REAL8 Mf, const IMRPhenomX_PNR_beta_parameters *betaParams, IMRPhenomXWaveformStruct *pWF, IMRPhenomXPrecessionStruct *pPrec, IMRPhenomXWaveformStruct *pWF_SingleSpin, IMRPhenomXPrecessionStruct *pPrec_SingleSpin)
This function evaluates Eqs.
REAL8 IMRPhenomX_PNR_beta_rescaling_1(REAL8 Mf, REAL8 beta1, REAL8 beta2, REAL8 dbeta1, REAL8 dbeta2)
These three functions produce the inspiral rescaling of beta described in Sec.
COMPLEX16 * IMRPhenomX_PNR_two_inflection_points(const IMRPhenomX_PNR_beta_parameters *betaParams)
Compute the two roots of a depressed cubic given by Eq.
REAL8 IMRPhenomX_PNR_PNWaveformBeta(REAL8 Mf, REAL8 iota, REAL8 m1, REAL8 m2, REAL8 chi, REAL8 costheta)
The "waveform" PN beta from Eq.
REAL8 IMRPhenomX_PNR_single_inflection_point(const IMRPhenomX_PNR_beta_parameters *betaParams)
Compute the roots of a depressed cubic given by Eq.
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
const double costheta
double complex COMPLEX16
double REAL8
uint32_t UINT4