LALSimulation  5.4.0.1-fe68b98
LALSimIMRPhenomC_internals.h
Go to the documentation of this file.
1 #ifndef _LALSIM_IMR_PHENOMC_INTERNALS_H
2 #define _LALSIM_IMR_PHENOMC_INTERNALS_H
3 
4 /*
5  * Copyright (C) 2012 Prayush Kumar, Frank Ohme
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with with program; see the file COPYING. If not, write to the
19  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20  * MA 02110-1301 USA
21  */
22 
23 
24 /* The paper refered to here as the Main paper, is Phys. Rev. D 82, 064016 (2010)
25  * */
26 
27 #include <math.h>
28 #include <complex.h>
29 
30 #include <lal/LALStdlib.h>
31 #include <lal/LALSimIMR.h>
32 #include <lal/LALConstants.h>
33 #include <lal/Date.h>
34 #include <lal/FrequencySeries.h>
35 #include <lal/StringInput.h>
36 #include <lal/TimeSeries.h>
37 #include <lal/TimeFreqFFT.h>
38 #include <lal/Units.h>
39 
40 
41 /*********************************************************************/
42 /* This structure stores the PN coefficients used to calculate flux */
43 /* and waveform amplitude, and Fourier phase. It also stores some */
44 /* frequently used expressions which are constant during waveform */
45 /* generation. */
46 /*********************************************************************/
47 
48 // MP: could we move this into the header file?
49 typedef struct tagBBHPhenomCParams{
52 
56 
63 
68 
78 
87 
97 
109 }
111 
112 /**
113  *
114  * private function prototypes; all internal functions use solar masses.
115  *
116  */
117 
118 static BBHPhenomCParams *ComputeIMRPhenomCParamsSPA( const REAL8 m1, const REAL8 m2, const REAL8 chi, LALDict *LALparams );
119 static BBHPhenomCParams *ComputeIMRPhenomCParams( const REAL8 m1, const REAL8 m2, const REAL8 chi , LALDict *LALparams );
120 static REAL8 wPlus( const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params );
121 static REAL8 wMinus( const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params );
122 
123 UNUSED static size_t NextPow2_PC(const size_t n);
125 UNUSED static int IMRPhenomCGenerateAmpPhase( REAL8 *amplitude, REAL8 *phasing, REAL8 f, REAL8 eta, const BBHPhenomCParams *params);
126 
127 #endif // of #ifndef _LALSIM_IMR_PHENOMC_INTERNALS_H
static REAL8 IMRPhenomCGeneratePhasePM(REAL8 f, REAL8 eta, const BBHPhenomCParams *params)
static UNUSED size_t NextPow2_PC(const size_t n)
static UNUSED int IMRPhenomCGenerateAmpPhase(REAL8 *amplitude, REAL8 *phasing, REAL8 f, REAL8 eta, const BBHPhenomCParams *params)
static BBHPhenomCParams * ComputeIMRPhenomCParamsSPA(const REAL8 m1, const REAL8 m2, const REAL8 chi, LALDict *LALparams)
private function prototypes; all internal functions use solar masses.
static REAL8 wPlus(const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params)
static REAL8 wMinus(const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params)
static BBHPhenomCParams * ComputeIMRPhenomCParams(const REAL8 m1, const REAL8 m2, const REAL8 chi, LALDict *LALparams)
static vector d(const double L_norm, const double J_norm, const vector roots)
Internal function that returns the coefficients "d_0", "d_2" and "d_4" from 1703.03967 corresponding ...
double REAL8
Definition: burst.c:245