LALInspiral 5.0.3.1-eeff03c
LALSQTPNWaveformInterface.h
Go to the documentation of this file.
1#ifndef LALSQTPNWAVEFORMINTERFACE_H
2#define LALSQTPNWAVEFORMINTERFACE_H
3
4#include <lal/Units.h>
5#include <lal/LALInspiral.h>
6#include <lal/SeqFactories.h>
7#include <lal/LALStatusMacros.h>
8#include <lal/GenerateInspiral.h>
9#include <lal/LALSQTPNWaveform.h>
10#include <stdio.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16/**
17 * \defgroup LALSQTPNWaveformInterface_h Header LALSQTPNWaveformInterface.h
18 * \ingroup lalinspiral_UNCLASSIFIED
19 *
20 * \brief Contains function declarations to integrate the SpinQuadTaylor code into the other parts of the LALSuit.
21 * \author László Veréb
22 * \date 2010.06.27.
23 */
24/** @{ */
25
26#define LALSQTPN_MSGPPNPARAMS "the PPNParamsStruct structure is null"
27#define LALSQTPN_MSGINSPIRALTEMPLATE "the InspiralTemplate structure is null"
28#define LALSQTPN_ZEROLENGTH 3
29#define LALSQTPN_MSGZEROLENGTH "the given length is not positive"
30
32 REAL4Vector *signalvec2, InspiralTemplate *params);
33
34// LAL wrapper to XLAL function
36 REAL4Vector *signalvec2, InspiralTemplate *params);
37
38/**
39 * The function returns the generated waveform.
40 * @param[out] signalvec : array containing the waveform \f$(h_+, h_\times)\f$
41 * @param[in] params : structure containing the inspiral parameters
42 */
43int XLALSQTPNWaveform (REAL4Vector *signalvec,
45
46// LAL wrapper to XLAL function
49
50/**
51 * The function returns the generated waveform for injection.
52 * @param[out] wave_out : structure containing the waveform \f$(a_1, a_2, \Phi, \alpha)\f$
53 * @param[in] params : structure containing the inspiral parameters
54 * @param[in] ppnParams : parameters for restricted post-Newtonian waveform
55 */
58
59// LAL wrapper to XLAL function
62
63/**
64 * The function allocates memory for the waveform's \f$a_1\f$, \f$a_2\f$,
65 * \f$\Phi\f$ and \f$\alpha\f$.
66 * @param[out] wave : pointer to the allocated waveform
67 * @param[in] length : the length of the waveform
68 */
70
71/**
72 * The function deallocates memory of the waveform.
73 * @param[out] wave : pointer to the allocated waveform
74 */
76
77/**
78 * The function calculates the parameters from the InspiralTemplate
79 * structure. <em>The used parameters are:</em>
80 * <ul>
81 * <li>masses of the BHs (or NSs) \f$m_i\f$ in \f$M_\odot\f$</li>
82 * <li>the spin components \f$\chi_{ij}\f$, the values of \f$\sqrt{\sum_j\chi_{ij}}\f$, are between 0 and 1</li>
83 * <li>the quadrupole parameters \f$w_i\in(4,8)\f$ for NSs [1] and \f$w_i=1\f$ for BHs[2] are 1 (default 1)</li>
84 * <li>the inclination (angle between the line of sight and Newtonian orbital angular momentum) \f$\iota\f$ in \f$rad\f$
85 * <li>the initial frequency \f$f_L\f$ in \f$Hz\f$</li>
86 * <li>the distance \f$d\f$ in \f$Mpc\f$</li>
87 * <li>the sampling time \f$t_s\f$ in \f$s\f$</li>
88 * <li>the PN order, see \c LALPNOrder</li>
89 * <li>level of accuracy in including spin and quadrupole contributions, see LALSQTPNSpinInteraction </li>
90 * </ul><br />
91 * <em>The calculated parameters:</em>
92 * \f{gather}{
93 * \displaystyle M_{in}=m_1+m_2,\quad
94 * \mu=\frac{m_1m_2}{M_{in}},\quad
95 * \eta=\frac{\mu}{M_{in}},\\
96 * \chi_i=\sqrt{\sum_{j}\chi_{ij}^2},\quad
97 * \hat{\chi}_{ij}=\dfrac{\chi_{ij}}{\chi_i},\\
98 * f_s=t_s^{-1}\\
99 * A=\frac{4\cdot\eta M_{in}M_\odot\displaystyle\frac{G}{c^2}}{d\cdot3.0856775807\cdot10^{16}\cdot10^6}
100 * \f}
101 * and the initial phase \f$\phi=0\f$
102 * Assuming that:
103 * <ul>
104 * <li>masses are positive</li>
105 * <li>eta is positive</li>
106 * <li>sampling frequency is positive</li>
107 * <li>distance is positive</li>
108 * </ul>
109 * @param[out] wave : the used parameters
110 * @param[in] params : the inspiral parameters
111 */
113
114/** @} */ /* end:LALSQTPNWaveformInterface_h */
115
116#ifdef __cplusplus
117}
118#endif
119
120#endif /* LALSQTPNWAVEFOMRINTERFACE_H */
uint32_t UINT4
int XLALSQTPNWaveformTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALSQTPNWaveform(REAL4Vector *signalvec, InspiralTemplate *params)
The function returns the generated waveform.
void LALSQTPNWaveformForInjection(LALStatus *status, CoherentGW *wave_out, InspiralTemplate *params, PPNParamStruc *ppnParams)
void XLALSQTPNFillParams(LALSQTPNWaveformParams *wave, InspiralTemplate *params)
The function calculates the parameters from the InspiralTemplate structure.
int XLALSQTPNWaveformForInjection(CoherentGW *wave_out, InspiralTemplate *params, PPNParamStruc *ppnParams)
The function returns the generated waveform for injection.
void LALSQTPNWaveformTemplates(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
void LALSQTPNWaveform(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
void XLALSQTPNDestroyCoherentGW(CoherentGW *wave)
The function deallocates memory of the waveform.
int XLALSQTPNAllocateCoherentGW(CoherentGW *wave, UINT4 length)
The function allocates memory for the waveform's , , and .
The inspiral waveform parameter structure containing information about the waveform to be generated.
Definition: LALInspiral.h:205
The structure contains the system's and the generator's parameters.
This structure stores the parameters for constructing a restricted post-Newtonian waveform.