Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALSimulation 6.2.0.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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?
49typedef 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
118static BBHPhenomCParams *ComputeIMRPhenomCParamsSPA( const REAL8 m1, const REAL8 m2, const REAL8 chi, LALDict *LALparams );
119static BBHPhenomCParams *ComputeIMRPhenomCParams( const REAL8 m1, const REAL8 m2, const REAL8 chi , LALDict *LALparams );
120static REAL8 wPlus( const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params );
121static REAL8 wMinus( const REAL8 f, const REAL8 f0, const REAL8 d, const BBHPhenomCParams *params );
122
123UNUSED static size_t NextPow2_PC(const size_t n);
125UNUSED 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 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 * ComputeIMRPhenomCParamsSPA(const REAL8 m1, const REAL8 m2, const REAL8 chi, LALDict *LALparams)
private function prototypes; all internal functions use solar masses.
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