LALSimIMR.h   LALSimIMR.h 
skipping to change at line 24 skipping to change at line 24
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the * along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#ifndef _LALSIMIMR_H #ifndef _LALSIMIMR_H
#define _LALSIMIMR_H #define _LALSIMIMR_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/LALSimInspiralWaveformFlags.h> #include <lal/LALSimInspiral.h>
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#elif 0 #elif 0
} /* so that editors will match preceding brace */ } /* so that editors will match preceding brace */
#endif #endif
/** /**
* The number of e-folds of ringdown which should be attached for * The number of e-folds of ringdown which should be attached for
* EOBNR models * EOBNR models
*/ */
#define EOB_RD_EFOLDS 10.0 #define EOB_RD_EFOLDS 10.0
/** /**
* Constant which comes up in some of the EOB models. Its value is
* (94/3 -41/32*pi*pi)
*/
#define ninty4by3etc 18.687902694437592603
/**
* Driver routine to compute the non-spinning, inspiral-merger-ringdown * Driver routine to compute the non-spinning, inspiral-merger-ringdown
* phenomenological waveform IMRPhenomA in the frequency domain. * phenomenological waveform IMRPhenomA in the frequency domain.
* *
* Reference: * Reference:
* - Waveform: Eq.(4.13) and (4.16) of http://arxiv.org/pdf/0710.2335 * - Waveform: Eq.(4.13) and (4.16) of http://arxiv.org/pdf/0710.2335
* - Coefficients: Eq.(4.18) of http://arxiv.org/pdf/0710.2335 and * - Coefficients: Eq.(4.18) of http://arxiv.org/pdf/0710.2335 and
* Table I of http://arxiv.org/pdf/0712.0343 * Table I of http://arxiv.org/pdf/0712.0343
* *
* All input parameters should be SI units. * All input parameters should be SI units.
*/ */
skipping to change at line 149 skipping to change at line 143
const REAL8 m1_SI, /**< mass of companion 1 (kg) */ const REAL8 m1_SI, /**< mass of companion 1 (kg) */
const REAL8 m2_SI, /**< mass of companion 2 (kg) */ const REAL8 m2_SI, /**< mass of companion 2 (kg) */
const REAL8 chi, /**< mass-weighted aligned-spin parameter */ const REAL8 chi, /**< mass-weighted aligned-spin parameter */
const REAL8 f_min, /**< starting GW frequency (Hz) */ const REAL8 f_min, /**< starting GW frequency (Hz) */
const REAL8 f_max, /**< end frequency; 0 defaults to ringdown cu toff freq */ const REAL8 f_max, /**< end frequency; 0 defaults to ringdown cu toff freq */
const REAL8 distance, /**< distance of source (m) */ const REAL8 distance, /**< distance of source (m) */
const REAL8 inclination /**< inclination of source (rad) */ const REAL8 inclination /**< inclination of source (rad) */
); );
/** /**
* Driver routine to compute the spin-aligned, inspiral-merger-ringdown
* phenomenological waveform IMRPhenomC in the frequency domain.
*
* Reference: http://arxiv.org/abs/1005.3306
* - Waveform: Eq.(5.1) - (5.13)
* - Coefficients: Eq.(5.14) and Table II
*
* All input parameters should be in SI units. Angles should be in radians.
*/
int XLALSimIMRPhenomCGenerateFD(
COMPLEX16FrequencySeries **htilde, /**< FD waveform */
const REAL8 phiPeak, /**< orbital phase at peak (rad) */
const REAL8 deltaF, /**< sampling interval (Hz) */
const REAL8 m1_SI, /**< mass of companion 1 (kg) */
const REAL8 m2_SI, /**< mass of companion 2 (kg) */
const REAL8 chi, /**< mass-weighted aligned-spin para
meter */
const REAL8 f_min, /**< starting GW frequency (Hz) */
const REAL8 f_max, /**< end frequency; 0 defaults to ri
ngdown cutoff freq */
const REAL8 distance /**< distance of source (m) */
);
/**
* This function generates the plus and cross polarizations for the dominan t * This function generates the plus and cross polarizations for the dominan t
* (2,2) mode of the EOBNRv2 approximant. This model is defined in Pan et a l, * (2,2) mode of the EOBNRv2 approximant. This model is defined in Pan et a l,
* arXiv:1106.1021v1 [gr-qc]. * arXiv:1106.1021v1 [gr-qc].
*/ */
int XLALSimIMREOBNRv2DominantMode( int XLALSimIMREOBNRv2DominantMode(
REAL8TimeSeries **hplus, /**<< The +-polarization waveform (return ed) */ REAL8TimeSeries **hplus, /**<< The +-polarization waveform (return ed) */
REAL8TimeSeries **hcross, /**<< The x-polarization waveform (return ed) */ REAL8TimeSeries **hcross, /**<< The x-polarization waveform (return ed) */
const REAL8 phiC, /**<< The phase at the coalescence time * / const REAL8 phiC, /**<< The phase at the coalescence time * /
const REAL8 deltaT, /**<< Sampling interval (in seconds) */ const REAL8 deltaT, /**<< Sampling interval (in seconds) */
const REAL8 m1SI, /**<< First component mass (in kg) */ const REAL8 m1SI, /**<< First component mass (in kg) */
skipping to change at line 182 skipping to change at line 198
REAL8TimeSeries **hcross, /**<< The x-polarization waveform (return ed) */ REAL8TimeSeries **hcross, /**<< The x-polarization waveform (return ed) */
const REAL8 phiC, /**<< The phase at the time of peak ampli tude */ const REAL8 phiC, /**<< The phase at the time of peak ampli tude */
const REAL8 deltaT, /**<< Sampling interval (in seconds) */ const REAL8 deltaT, /**<< Sampling interval (in seconds) */
const REAL8 m1SI, /**<< First component mass (in kg) */ const REAL8 m1SI, /**<< First component mass (in kg) */
const REAL8 m2SI, /**<< Second component mass (in kg) */ const REAL8 m2SI, /**<< Second component mass (in kg) */
const REAL8 fLower, /**<< Starting frequency (in Hz) */ const REAL8 fLower, /**<< Starting frequency (in Hz) */
const REAL8 distance, /**<< Distance to source (in metres) */ const REAL8 distance, /**<< Distance to source (in metres) */
const REAL8 inclination /**<< Inclination of the source (in radia ns) */ const REAL8 inclination /**<< Inclination of the source (in radia ns) */
); );
SphHarmTimeSeries *XLALSimIMREOBNRv2Modes(
const REAL8 phiRef, /**< Orbital phase at coalescence (radians) */
const REAL8 deltaT, /**< Sampling interval (s) */
const REAL8 m1, /**< First component mass (kg) */
const REAL8 m2, /**< Second component mass (kg) */
const REAL8 fLower, /**< Starting GW frequency (Hz) */
const REAL8 distance /**< Distance to sources (m) */
);
int XLALSimIMRSpinAlignedEOBWaveform( int XLALSimIMRSpinAlignedEOBWaveform(
REAL8TimeSeries **hplus, REAL8TimeSeries **hplus,
REAL8TimeSeries **hcross, REAL8TimeSeries **hcross,
const REAL8 phiC, const REAL8 phiC,
REAL8 deltaT, REAL8 deltaT,
const REAL8 m1SI, const REAL8 m1SI,
const REAL8 m2SI, const REAL8 m2SI,
const REAL8 fMin, const REAL8 fMin,
const REAL8 r, const REAL8 r,
const REAL8 inc, const REAL8 inc,
const REAL8 spin1z, const REAL8 spin1z,
const REAL8 spin2z const REAL8 spin2z
); );
/** /**
* Routine to compute the mass and spin of the final black hole given * Routine to compute the mass and spin of the final black hole given
* the masses, spins, binding energy, and orbital angular momentum vector. * the masses, spins, binding energy, and orbital angular momentum vector.
*/ */
int XLALSimIMRPSpinFinalMassSpin( int XLALSimIMRPhenSpinFinalMassSpin(REAL8 *finalMass,
REAL8 *finalMass, REAL8 *finalSpin,
REAL8 *finalSpin, REAL8 m1,
REAL8 m1, REAL8 m2,
REAL8 m2, REAL8 s1s1,
REAL8 s1x, REAL8 s2s2,
REAL8 s1y, REAL8 s1L,
REAL8 s1z, REAL8 s2L,
REAL8 s2x, REAL8 s1s2,
REAL8 s2y, REAL8 energy);
REAL8 s2z,
REAL8 energy, int XLALSimSpinInspiralGenerator(REAL8TimeSeries **hPlus, /**<
REAL8 LNhvecx, +-polarization waveform [returned] */
REAL8 LNhvecy, REAL8TimeSeries **hCross, /**<
REAL8 LNhvecz x-polarization waveform [returned] */
); REAL8 phi_start, /**<
start phase */
REAL8 deltaT, /**<
sampling interval */
REAL8 m1, /**<
mass of companion 1 */
REAL8 m2, /**<
mass of companion 2 */
REAL8 f_min, /**<
start frequency */
REAL8 f_ref, /**<
reference frequency */
REAL8 r, /**<
distance of source */
REAL8 iota, /**<
inclination of source (rad) */
REAL8 s1x, /**<
x-component of dimensionless spin for object 1 */
REAL8 s1y, /**<
y-component of dimensionless spin for object 1 */
REAL8 s1z, /**<
z-component of dimensionless spin for object 1 */
REAL8 s2x, /**<
x-component of dimensionless spin for object 2 */
REAL8 s2y, /**<
y-component of dimensionless spin for object 2 */
REAL8 s2z, /**<
z-component of dimensionless spin for object 2 */
int phaseO, /**<
twice post-Newtonian phase order */
int ampO, /**<
twice post-Newtonian amplitude order */
LALSimInspiralWaveformFlags *waveFlags,/**<
Choice of axis for input spin params */
LALSimInspiralTestGRParam *testGRparams/**<
Choice of axis for input spin params */
);
/** /**
* Driver routine to compute a precessing post-Newtonian inspiral-merger-ri ngdown waveform * Driver routine to compute a precessing post-Newtonian inspiral-merger-ri ngdown waveform
*/ */
int XLALSimIMRPSpinInspiralRDGenerator(
int XLALSimIMRPhenSpinInspiralRDGenerator(
REAL8TimeSeries **hplus, /**< +-polarization waveform */ REAL8TimeSeries **hplus, /**< +-polarization waveform */
REAL8TimeSeries **hcross, /**< x-polarization waveform */ REAL8TimeSeries **hcross, /**< x-polarization waveform */
REAL8 phi0, /**< phase at time of peak amplitude*/ REAL8 phi0, /**< phase at time of peak amplitude*/
REAL8 deltaT, /**< sampling interval */ REAL8 deltaT, /**< sampling interval */
REAL8 m1, /**< mass of companion 1 */ REAL8 m1, /**< mass of companion 1 */
REAL8 m2, /**< mass of companion 2 */ REAL8 m2, /**< mass of companion 2 */
REAL8 f_min, /**< start frequency */ REAL8 f_min, /**< start frequency */
REAL8 f_ref, /**< reference frequency */
REAL8 r, /**< distance of source */ REAL8 r, /**< distance of source */
REAL8 iota, /**< inclination of source (rad) */ REAL8 iota, /**< inclination of source (rad) */
REAL8 s1x, /**< x-component of dimensionless spin for object 1 */ REAL8 s1x, /**< x-component of dimensionless spin for object 1 */
REAL8 s1y, /**< y-component of dimensionless spin for object 1 */ REAL8 s1y, /**< y-component of dimensionless spin for object 1 */
REAL8 s1z, /**< z-component of dimensionless spin for object 1 */ REAL8 s1z, /**< z-component of dimensionless spin for object 1 */
REAL8 s2x, /**< x-component of dimensionless spin for object 2 */ REAL8 s2x, /**< x-component of dimensionless spin for object 2 */
REAL8 s2y, /**< y-component of dimensionless spin for object 2 */ REAL8 s2y, /**< y-component of dimensionless spin for object 2 */
REAL8 s2z, /**< z-component of dimensionless spin for object 2 */ REAL8 s2z, /**< z-component of dimensionless spin for object 2 */
int phaseO, /**< twice post-Newtonian phase order */ int phaseO, /**< twice post-Newtonian phase order */
LALSimInspiralFrameAxis axisChoice, /**< Choice of axis for input spin int ampO, /**< twice post-Newtonian amplitude order *
params */ /
int inspiralOnly /**< 0 generate RD, 1 generate inspiralOnly LALSimInspiralWaveformFlags *waveFlag,/**< Choice of axis for input spi
*/ n params */
); LALSimInspiralTestGRParam *testGRparam /**< Choice of axis for input s
pin params */
);
#if 0 #if 0
{ /* so that editors will match succeeding brace */ { /* so that editors will match succeeding brace */
#elif defined(__cplusplus) #elif defined(__cplusplus)
} }
#endif #endif
#endif /* _LALSIMIMR_H */ #endif /* _LALSIMIMR_H */
 End of changes. 8 change blocks. 
29 lines changed or deleted 96 lines changed or added


 LALSimInspiral.h   LALSimInspiral.h 
skipping to change at line 24 skipping to change at line 24
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the * along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
*/ */
#ifndef _LALSIMINSPIRAL_H #ifndef _LALSIMINSPIRAL_H
#define _LALSIMINSPIRAL_H #define _LALSIMINSPIRAL_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/LALSimIMR.h> #include <lal/LALSimInspiralWaveformFlags.h>
#include <lal/LALSimInspiralWaveformFlags.h> #include <lal/LALSimInspiralTestGRParams.h>
#include <lal/LALSimInspiralTestGRParams.h> #include <lal/TimeSeries.h>
#include <lal/TimeSeries.h>
#include <gsl/gsl_matrix.h> #include <gsl/gsl_matrix.h>
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#elif 0 #elif 0
} /* so that editors will match preceding brace */ } /* so that editors will match preceding brace */
#endif #endif
#define LAL_PN_MODE_L_MAX 3 #define LAL_PN_MODE_L_MAX 3
/* (2x) Highest available PN order - UPDATE IF NEW ORDERS ADDED!!*/
#define LAL_MAX_PN_ORDER 8
/** Enum that specifies the PN approximant to be used in computing the wave form. /** Enum that specifies the PN approximant to be used in computing the wave form.
*/ */
typedef enum { typedef enum {
TaylorT1, /**< Time domain Taylor approximant in which the ene rgy and flux are both kept TaylorT1, /**< Time domain Taylor approximant in which the ene rgy and flux are both kept
* as Taylor expansions and a first order ordinary differential equation is solved * as Taylor expansions and a first order ordinary differential equation is solved
* or the GW phase as a function of \f$t\f$; Output s a time-domain wave. * or the GW phase as a function of \f$t\f$; Output s a time-domain wave.
*/ */
TaylorT2, /**< Time domain Taylor approximant in which the pha se evolution \f$\varphi(t)\f$ is TaylorT2, /**< Time domain Taylor approximant in which the pha se evolution \f$\varphi(t)\f$ is
* obtained by iteratively solving post-Newtonian e xpansions \f$\varphi(v)\f$ and \f$t(v)\f$; * obtained by iteratively solving post-Newtonian e xpansions \f$\varphi(v)\f$ and \f$t(v)\f$;
* Outputs a time-domain wave. * Outputs a time-domain wave.
*/ */
TaylorT3, /**< Time domain Taylor approximant in which phase i s explicitly given as a function TaylorT3, /**< Time domain Taylor approximant in which phase i s explicitly given as a function
* of time; outputs a time-domain wave. * of time; outputs a time-domain wave.
*/ */
TaylorF1, /**< The stationary phase approximation that correct ly represents, in the Fourier domain, TaylorF1, /**< The stationary phase approximation that correct ly represents, in the Fourier domain,
* the waveform given by \c TaylorT1 approximant (s ee [\ref dis2000] for details); * the waveform given by \c TaylorT1 approximant (s ee [\ref dis2000] for details);
* Outputs a frequency-domain wave. */ * Outputs a frequency-domain wave. */
TaylorF2, /**< The standard stationary phase approximation; Ou tputs a frequency-domain wave. */ TaylorF2, /**< The standard stationary phase approximation; Ou tputs a frequency-domain wave. */
TaylorR2F4, /**< A frequency domain model closely related to Tay lorT4 */
TaylorF2RedSpin, /**< TaylorF2 waveforms for non-precessing s pins, defined in terms of a single (reduced-spin) parameter [Ajith_2011ec]* / TaylorF2RedSpin, /**< TaylorF2 waveforms for non-precessing s pins, defined in terms of a single (reduced-spin) parameter [Ajith_2011ec]* /
TaylorF2RedSpinTidal, /**< TaylorF2 waveforms for non-prec essing spins, defined in terms of a single (reduced-spin) parameter [Ajith_ 2011ec] plus tidal terms (http://arxiv.org/abs/1101.1673) */ TaylorF2RedSpinTidal, /**< TaylorF2 waveforms for non-precessing s pins, defined in terms of a single (reduced-spin) parameter [Ajith_2011ec] plus tidal terms (http://arxiv.org/abs/1101.1673) */
PadeT1, /**< Time-domain P-approximant; Outputs a time-domai n wave. */ PadeT1, /**< Time-domain P-approximant; Outputs a time-domai n wave. */
PadeF1, /**< Frequency-domain P-approximant (not yet impleme nted). */ PadeF1, /**< Frequency-domain P-approximant (not yet impleme nted). */
EOB, /**< Effective one-body waveform; Outputs a time-domain wave. */ EOB, /**< Effective one-body waveform; Outputs a time-domain wave. */
BCV, /**< Detection template family of Buonanno, Chen and Vallisneri [\ref BCV03]; Outputs a frequency-domain wave. */ BCV, /**< Detection template family of Buonanno, Chen and Vallisneri [\ref BCV03]; Outputs a frequency-domain wave. */
BCVSpin, /**< Detection template family of Buonanno, Chen and Vallisneri including spin effects [\ref BCV03b]; Outputs a frequency-doma in wave. */ BCVSpin, /**< Detection template family of Buonanno, Chen and Vallisneri including spin effects [\ref BCV03b]; Outputs a frequency-doma in wave. */
SpinTaylorT1, /**< Spinning case T1 models */
SpinTaylorT2, /**< Spinning case T2 models */
SpinTaylorT3, /**< Spinning case T3 models */ SpinTaylorT3, /**< Spinning case T3 models */
SpinTaylorT4, /**< Spinning case T4 models (lalsimulation's equiva lent of SpinTaylorFrameless) */ SpinTaylorT4, /**< Spinning case T4 models (lalsimulation's equiva lent of SpinTaylorFrameless) */
SpinTaylorF2, /**< Spinning case F2 models (single spin only) */
SpinTaylorFrameless, /**< Spinning case PN models (replace SpinTa ylor by removing the coordinate singularity) */ SpinTaylorFrameless, /**< Spinning case PN models (replace SpinTa ylor by removing the coordinate singularity) */
SpinTaylor, /**< Spinning case PN models (should replace SpinTay lorT3 in the future) */ SpinTaylor, /**< Spinning case PN models (should replace SpinTay lorT3 in the future) */
PhenSpinTaylor, /**< Inspiral part of the PhenSpinTaylorRD. */
PhenSpinTaylorRD, /**< Phenomenological waveforms, interpolating betwe en a T4 spin-inspiral and the ringdown. */ PhenSpinTaylorRD, /**< Phenomenological waveforms, interpolating betwe en a T4 spin-inspiral and the ringdown. */
PhenSpinTaylorRDF, /**< UNDOCUMENTED */
SpinQuadTaylor, /**< Spinning case PN models with quadrupole-monopol e and self-spin interaction. */ SpinQuadTaylor, /**< Spinning case PN models with quadrupole-monopol e and self-spin interaction. */
FindChirpSP, /**< The stationary phase templates implemen ted by FindChirpSPTemplate in the findchirp package (equivalent to TaylorF2 at twoPN order). */ FindChirpSP, /**< The stationary phase templates implemen ted by FindChirpSPTemplate in the findchirp package (equivalent to TaylorF2 at twoPN order). */
FindChirpPTF, /**< UNDOCUMENTED */ FindChirpPTF, /**< UNDOCUMENTED */
GeneratePPN, /**< The time domain templates generated by LALGeneratePPNInspiral() in the inject package (equivalent to TaylorT3 at t woPN order). */ GeneratePPN, /**< The time domain templates generated by LALGeneratePPNInspiral() in the inject package (equivalent to TaylorT3 at t woPN order). */
BCVC, /**< UNDOCUMENTED */ BCVC, /**< UNDOCUMENTED */
FrameFile, /**< The waveform contains arbitrary data read from a frame file. */ FrameFile, /**< The waveform contains arbitrary data read from a frame file. */
AmpCorPPN, /**< UNDOCUMENTED */ AmpCorPPN, /**< UNDOCUMENTED */
NumRel, /**< UNDOCUMENTED */ NumRel, /**< UNDOCUMENTED */
NumRelNinja2, /**< The waveform contains REAL8 data generated by l alapps_fr_ninja from a file in the format described in arXiv:0709.0093v3 */ NumRelNinja2, /**< The waveform contains REAL8 data generated by l alapps_fr_ninja from a file in the format described in arXiv:0709.0093v3 */
Eccentricity, /**< UNDOCUMENTED */ Eccentricity, /**< UNDOCUMENTED */
EOBNR, /**< UNDOCUMENTED */ EOBNR, /**< UNDOCUMENTED */
EOBNRv2, /**< UNDOCUMENTED */ EOBNRv2, /**< UNDOCUMENTED */
EOBNRv2HM, /**< UNDOCUMENTED */ EOBNRv2HM, /**< UNDOCUMENTED */
SEOBNRv1, /**< Spin-aligned EOBNR model */ SEOBNRv1, /**< Spin-aligned EOBNR model */
IMRPhenomA, /**< Time domain (non-spinning) inspiral-merger-ring down waveforms generated from the inverse FFT of IMRPhenomFA */ IMRPhenomA, /**< Time domain (non-spinning) inspiral-merger-ring down waveforms generated from the inverse FFT of IMRPhenomFA */
IMRPhenomB, /**< Time domain (non-precessing spins) inspiral-mer ger-ringdown waveforms generated from the inverse FFT of IMRPhenomFB */ IMRPhenomB, /**< Time domain (non-precessing spins) inspiral-mer ger-ringdown waveforms generated from the inverse FFT of IMRPhenomFB */
IMRPhenomFA, /**< Frequency domain (non-spinning) inspira l-merger-ringdown templates of Ajith et al [Ajith_2007kx] with phenomenolog ical coefficients defined in the Table I of [Ajith_2007xh]*/ IMRPhenomFA, /**< Frequency domain (non-spinning) inspira l-merger-ringdown templates of Ajith et al [Ajith_2007kx] with phenomenolog ical coefficients defined in the Table I of [Ajith_2007xh]*/
IMRPhenomFB, /**< Frequency domain (non-precessing spins) inspiral-merger-ringdown templates of Ajith et al [Ajith_2009bn] */ IMRPhenomFB, /**< Frequency domain (non-precessing spins) inspiral-merger-ringdown templates of Ajith et al [Ajith_2009bn] */
IMRPhenomC, /**< Frequency domain (non-precessing spins) inspira l-merger-ringdown templates of Ajith et al [Santamaria:2010yb] with phenome nological coefficients defined in the Table II of [Santamaria:2010yb]*/
TaylorEt, /**< UNDOCUMENTED */ TaylorEt, /**< UNDOCUMENTED */
TaylorT4, /**< UNDOCUMENTED */ TaylorT4, /**< UNDOCUMENTED */
TaylorN, /**< UNDOCUMENTED */ TaylorN, /**< UNDOCUMENTED */
NumApproximants /**< Number of elements in enum, useful for checking bounds */ NumApproximants /**< Number of elements in enum, useful for checking bounds */
} Approximant; } Approximant;
/** Enum of possible values to use for post-Newtonian order. */ /** Enum of possible values to use for post-Newtonian order. */
typedef enum { typedef enum {
LAL_PNORDER_NEWTONIAN, /**< Newtonain (leading) order */ LAL_PNORDER_NEWTONIAN, /**< Newtonain (leading) order */
LAL_PNORDER_HALF, /**< 0.5PN <==> O(v) */ LAL_PNORDER_HALF, /**< 0.5PN <==> O(v) */
skipping to change at line 117 skipping to change at line 123
/** Enumeration to specify the tapering method to apply to the waveform */ /** Enumeration to specify the tapering method to apply to the waveform */
typedef enum typedef enum
{ {
LAL_SIM_INSPIRAL_TAPER_NONE, /**< No tapering */ LAL_SIM_INSPIRAL_TAPER_NONE, /**< No tapering */
LAL_SIM_INSPIRAL_TAPER_START, /**< Taper the start of the waveform */ LAL_SIM_INSPIRAL_TAPER_START, /**< Taper the start of the waveform */
LAL_SIM_INSPIRAL_TAPER_END, /**< Taper the end of the waveform * / LAL_SIM_INSPIRAL_TAPER_END, /**< Taper the end of the waveform * /
LAL_SIM_INSPIRAL_TAPER_STARTEND, /**< Taper the start and the end of the waveform */ LAL_SIM_INSPIRAL_TAPER_STARTEND, /**< Taper the start and the end of the waveform */
LAL_SIM_INSPIRAL_TAPER_NUM_OPTS /**< Number of elements in enum, use ful for checking bounds */ LAL_SIM_INSPIRAL_TAPER_NUM_OPTS /**< Number of elements in enum, use ful for checking bounds */
} LALSimInspiralApplyTaper; } LALSimInspiralApplyTaper;
/** Stores previously-computed waveforms and parameters to take
advantage of approximant- and parameter-specific opportunities for
accelerating waveform computation. */
typedef struct tagLALSimInspiralWaveformCache LALSimInspiralWaveformCache;
/** Enumeration to specify time or frequency domain */
typedef enum {
LAL_SIM_DOMAIN_TIME,
LAL_SIM_DOMAIN_FREQUENCY
} LALSimulationDomain;
/** /**
* Tapers a REAL4 inspiral waveform in the time domain. * Tapers a REAL4 inspiral waveform in the time domain.
*/ */
int XLALSimInspiralREAL4WaveTaper( int XLALSimInspiralREAL4WaveTaper(
REAL4Vector *signalvec, /**< pointer to wave form vector */ REAL4Vector *signalvec, /**< pointer to wave form vector */
LALSimInspiralApplyTaper bookends /**< taper type enum erator */ LALSimInspiralApplyTaper bookends /**< taper type enum erator */
); );
/** /**
* Tapers a REAL8 inspiral waveform in the time domain. * Tapers a REAL8 inspiral waveform in the time domain.
*/ */
int XLALSimInspiralREAL8WaveTaper( int XLALSimInspiralREAL8WaveTaper(
REAL8Vector *signalvec, /**< pointer to wave form vector */ REAL8Vector *signalvec, /**< pointer to wave form vector */
LALSimInspiralApplyTaper bookends /**< taper type enum erator */ LALSimInspiralApplyTaper bookends /**< taper type enum erator */
); );
/* /*
* Structyure to carry a collectio of spherical harmonic modes in COMPLEX16 * Structure to carry a collection of spherical harmonic modes in COMPLEX16
* time series. Contains convenience getter and setter functions, as well a s * time series. Contains convenience getter and setter functions, as well a s
* a convienence "maximum l mode" function. Implemented as a singly forward * a convienence "maximum l mode" function. Implemented as a singly forward
* linked list. * linked list.
*/ */
typedef struct tagSphHarmTimeSeries SphHarmTimeSeries; typedef struct tagSphHarmTimeSeries SphHarmTimeSeries;
typedef struct tagSphHarmFrequencySeries SphHarmFrequencySeries;
/* /*
* Create a SphHarmTimeSeries. If appended is not NULL, this will prepend a new * Create a SphHarmTimeSeries. If appended is not NULL, this will prepend a new
* structure to the list by duplicating the mode inmode, mode numbers l, an d m, * structure to the list by duplicating the mode inmode, mode numbers l, an d m,
* and then set the next pointer to the appended structure. * and then set the next pointer to the appended structure.
*/ */
SphHarmTimeSeries* XLALSphHarmTimeSeriesAddMode( SphHarmTimeSeries* XLALSphHarmTimeSeriesAddMode(
SphHarmTimeSeries *appended, /**< List structure to prepend to */ SphHarmTimeSeries *appended, /**< List structure to prepend to */
const COMPLEX16TimeSeries* inmode, /**< mode series to cont ain */ const COMPLEX16TimeSeries* inmode, /**< mode series to cont ain */
UINT4 l, /**< major mode number */ UINT4 l, /**< major mode number */
INT4 m /**< minor mode number */ INT4 m /**< minor mode number */
skipping to change at line 165 skipping to change at line 184
* COMPLEX16TimeSeries which it has references to. * COMPLEX16TimeSeries which it has references to.
*/ */
void XLALDestroySphHarmTimeSeries( SphHarmTimeSeries* ts ); void XLALDestroySphHarmTimeSeries( SphHarmTimeSeries* ts );
/* /*
* Destroy a SphHarmTimeSeries. Note that this will destroy any * Destroy a SphHarmTimeSeries. Note that this will destroy any
* COMPLEX16TimeSeries which it has references to. * COMPLEX16TimeSeries which it has references to.
*/ */
UINT4 XLALSphHarmTimeSeriesGetMaxL( SphHarmTimeSeries* ts ); UINT4 XLALSphHarmTimeSeriesGetMaxL( SphHarmTimeSeries* ts );
#ifdef SWIG // SWIG interface directives
SWIGLAL(GET_OBJECT(COMPLEX16TimeSeries*, XLALSphHarmTimeSeriesGetMode));
#endif
/* /*
* Get the mode-decomposed time series corresponding to l,m. * Get the mode-decomposed time series corresponding to l,m.
*/ */
COMPLEX16TimeSeries* XLALSphHarmTimeSeriesGetMode( COMPLEX16TimeSeries* XLALSphHarmTimeSeriesGetMode(
SphHarmTimeSeries *ts, SphHarmTimeSeries *ts,
UINT4 l, UINT4 l,
INT4 m INT4 m
); );
/*
* Create a SphHarmFrequencySeries. If appended is not NULL, this will prep
end a new
* structure to the list by duplicating the mode inmode, mode numbers l, an
d m,
* and then set the next pointer to the appended structure.
*/
SphHarmFrequencySeries* XLALSphHarmFrequencySeriesAddMode(
SphHarmFrequencySeries *appended, /**< List structure to pr
epend to */
const COMPLEX16FrequencySeries* inmode, /**< mode series to
contain */
UINT4 l, /**< major mode number */
INT4 m /**< minor mode number */
);
/*
* Destroy a SphHarmFrequencySeries. Note that this will destroy any
* COMPLEX16TimeSeries which it has references to.
*/
void XLALDestroySphHarmFrequencySeries( SphHarmFrequencySeries* ts );
/*
* Destroy a SphHarmFrequencySeries. Note that this will destroy any
* COMPLEX16FrequencySeries which it has references to.
*/
UINT4 XLALSphHarmFrequencySeriesGetMaxL( SphHarmFrequencySeries* ts );
#ifdef SWIG // SWIG interface directives
SWIGLAL(GET_OBJECT(COMPLEX16FrequencySeries*, XLALSphHarmFrequencySeriesGet
Mode));
#endif
/*
* Get the mode-decomposed frequency series corresponding to l,m.
*/
COMPLEX16FrequencySeries* XLALSphHarmFrequencySeriesGetMode(
SphHarmFrequencySeries *ts,
UINT4 l,
INT4 m
);
/**
* Compute the polarizations from all the -2 spin-weighted spherical harmon
ic
* modes stored in 'hlms'. Be sure that 'hlms' is the head of the linked li
st!
*
* The computation done is:
* hp(t) - i hc(t) = \sum_l \sum_m h_lm(t) -2Y_lm(iota,psi)
*
* iota and psi are the inclination and polarization angle of the observer
* relative to the source of GWs.
*/
int XLALSimInspiralPolarizationsFromSphHarmTimeSeries(
REAL8TimeSeries **hp, /**< Plus polarization time series [returned] */
REAL8TimeSeries **hc, /**< Cross polarization time series [returned] */
SphHarmTimeSeries *hlms, /**< Head of linked list of waveform modes */
REAL8 iota, /**< inclination of viewer to source frame (rad) */
REAL8 psi /**< polarization angle (rad) */
);
/** /**
* Computes h(2,2) mode of spherical harmonic decomposition of * Computes h(2,2) mode of spherical harmonic decomposition of
* the post-Newtonian inspiral waveform. * the post-Newtonian inspiral waveform.
* *
* Implements Equation (79) of: * Implements Equation (79) of:
* Lawrence E. Kidder, \"Using Full Information When Computing Modes of * Lawrence E. Kidder, \"Using Full Information When Computing Modes of
* Post-Newtonian Waveforms From Inspiralling Compact Binaries in Circular * Post-Newtonian Waveforms From Inspiralling Compact Binaries in Circular
* Orbit\", Physical Review D 77, 044016 (2008), arXiv:0710.0614v1 [gr-qc]. * Orbit\", Physical Review D 77, 044016 (2008), arXiv:0710.0614v1 [gr-qc].
*/ */
COMPLEX16TimeSeries *XLALSimInspiralPNMode22( COMPLEX16TimeSeries *XLALSimInspiralPNMode22(
skipping to change at line 895 skipping to change at line 973
* *
* TODO: return the bit sum if the string is a concatenation of several * TODO: return the bit sum if the string is a concatenation of several
* interaction terms. Also make names match cases of enum. * interaction terms. Also make names match cases of enum.
*/ */
int XLALGetInteractionFromString(const CHAR *inString); int XLALGetInteractionFromString(const CHAR *inString);
/** XLAL function to determine axis choice flag from a string */ /** XLAL function to determine axis choice flag from a string */
int XLALGetFrameAxisFromString(const CHAR *inString); int XLALGetFrameAxisFromString(const CHAR *inString);
/** /**
* XLAL function to determine adaptive integration flag from a string. Ret * XLAL function to determine mode flag from a string.
urns * Returns one of enum values as name matches case of enum.
* 1 if string contains 'fixedStep', otherwise returns 0 to signal */
* adaptive integration should be used. int XLALGetHigherModesFromString(const CHAR *inString);
/*
* Construct and initialize a waveform cache. Caches are used to
* avoid re-computation of waveforms that differ only by simple
* scaling relations in parameters.
*/ */
int XLALGetAdaptiveIntFromString(const CHAR *inString); LALSimInspiralWaveformCache *XLALCreateSimInspiralWaveformCache(void);
/** /**
* XLAL function to determine inspiral-only flag from a string. Returns * Destroy a waveform cache.
* 1 if string contains 'inspiralOnly', otherwise returns 0 to signal
* full inspiral-merger-ringdown waveform should be generated.
*/ */
int XLALGetInspiralOnlyFromString(const CHAR *inString); void XLALDestroySimInspiralWaveformCache(LALSimInspiralWaveformCache *cache );
/** /**
* DEPRECATED: USE XLALSimInspiralChooseTDWaveform() INSTEAD * DEPRECATED: USE XLALSimInspiralChooseTDWaveform() INSTEAD
* *
* Chooses between different approximants when requesting a waveform to be generated * Chooses between different approximants when requesting a waveform to be generated
* For spinning waveforms, all known spin effects up to given PN order are included * For spinning waveforms, all known spin effects up to given PN order are included
* *
* The parameters passed must be in SI units. * The parameters passed must be in SI units.
*/ */
int XLALSimInspiralChooseWaveform( int XLALSimInspiralChooseWaveform(
skipping to change at line 977 skipping to change at line 1059
REAL8 lambda2, /**< (tidal deformability of mass 2) / m2^5 (dimensionless) */ REAL8 lambda2, /**< (tidal deformability of mass 2) / m2^5 (dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to control sp ecial behavior of some waveform families. Pass in NULL (or None in python) for default flags */ LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to control sp ecial behavior of some waveform families. Pass in NULL (or None in python) for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR para meters. Pass in NULL (or None in python) for standard GR waveforms */ LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR para meters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian amplitude order * / int amplitudeO, /**< twice post-Newtonian amplitude order * /
int phaseO, /**< twice post-Newtonian phase order */ int phaseO, /**< twice post-Newtonian phase order */
Approximant approximant /**< post-Newtonian approximant to use for waveform production */ Approximant approximant /**< post-Newtonian approximant to use for waveform production */
); );
/** /**
* Chooses between different approximants when requesting a waveform to be generated * Chooses between different approximants when requesting a waveform to be generated
* Returns the waveform in the time domain.
* The parameters passed must be in SI units.
*
* This version allows caching of waveforms. The most recently generated
* waveform and its parameters are stored. If the next call requests a wave
form
* that can be obtained by a simple transformation, then it is done.
* This bypasses the waveform generation and speeds up the code.
*/
int XLALSimInspiralChooseTDWaveformFromCache(
REAL8TimeSeries **hplus, /**< +-polarization waveform */
REAL8TimeSeries **hcross, /**< x-polarization waveform */
REAL8 phiRef, /**< reference orbital phase (rad) */
REAL8 deltaT, /**< sampling interval (s) */
REAL8 m1, /**< mass of companion 1 (kg) */
REAL8 m2, /**< mass of companion 2 (kg) */
REAL8 s1x, /**< x-component of the dimensionless spin
of object 1 */
REAL8 s1y, /**< y-component of the dimensionless spin
of object 1 */
REAL8 s1z, /**< z-component of the dimensionless spin
of object 1 */
REAL8 s2x, /**< x-component of the dimensionless spin
of object 2 */
REAL8 s2y, /**< y-component of the dimensionless spin
of object 2 */
REAL8 s2z, /**< z-component of the dimensionless spin
of object 2 */
REAL8 f_min, /**< starting GW frequency (Hz) */
REAL8 f_ref, /**< reference GW frequency (Hz) */
REAL8 r, /**< distance of source (m) */
REAL8 i, /**< inclination of source (rad) */
REAL8 lambda1, /**< (tidal deformability of mass 1) / m1^5
(dimensionless) */
REAL8 lambda2, /**< (tidal deformability of mass 2) / m2^5
(dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to control sp
ecial behavior of some waveform families. Pass in NULL (or None in python)
for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR para
meters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian amplitude order *
/
int phaseO, /**< twice post-Newtonian phase order */
Approximant approximant, /**< post-Newtonian approximant to use for
waveform production */
LALSimInspiralWaveformCache *cache /**< waveform cache structure; use
NULL for no caching */
);
/**
* Chooses between different approximants when requesting a waveform to be
generated
* For spinning waveforms, all known spin effects up to given PN order are included * For spinning waveforms, all known spin effects up to given PN order are included
* Returns the waveform in the frequency domain. * Returns the waveform in the frequency domain.
* *
* The parameters passed must be in SI units. * The parameters passed must be in SI units.
*/ */
int XLALSimInspiralChooseFDWaveform( int XLALSimInspiralChooseFDWaveform(
COMPLEX16FrequencySeries **htilde, /**< FD waveform */ COMPLEX16FrequencySeries **hptilde, /**< FD plus polarization *
/
COMPLEX16FrequencySeries **hctilde, /**< FD cross polarization
*/
REAL8 phiRef, /**< reference orbital phas e (rad) */ REAL8 phiRef, /**< reference orbital phas e (rad) */
REAL8 deltaF, /**< sampling interval (Hz) */ REAL8 deltaF, /**< sampling interval (Hz) */
REAL8 m1, /**< mass of companion 1 (k g) */ REAL8 m1, /**< mass of companion 1 (k g) */
REAL8 m2, /**< mass of companion 2 (k g) */ REAL8 m2, /**< mass of companion 2 (k g) */
REAL8 S1x, /**< x-component of the dim ensionless spin of object 1 */ REAL8 S1x, /**< x-component of the dim ensionless spin of object 1 */
REAL8 S1y, /**< y-component of the dim ensionless spin of object 1 */ REAL8 S1y, /**< y-component of the dim ensionless spin of object 1 */
REAL8 S1z, /**< z-component of the dim ensionless spin of object 1 */ REAL8 S1z, /**< z-component of the dim ensionless spin of object 1 */
REAL8 S2x, /**< x-component of the dim ensionless spin of object 2 */ REAL8 S2x, /**< x-component of the dim ensionless spin of object 2 */
REAL8 S2y, /**< y-component of the dim ensionless spin of object 2 */ REAL8 S2y, /**< y-component of the dim ensionless spin of object 2 */
REAL8 S2z, /**< z-component of the dim ensionless spin of object 2 */ REAL8 S2z, /**< z-component of the dim ensionless spin of object 2 */
skipping to change at line 1008 skipping to change at line 1128
REAL8 lambda1, /**< (tidal deformability o f mass 1) / m1^5 (dimensionless) */ REAL8 lambda1, /**< (tidal deformability o f mass 1) / m1^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability o f mass 2) / m2^5 (dimensionless) */ REAL8 lambda2, /**< (tidal deformability o f mass 2) / m2^5 (dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro l special behavior of some waveform families. Pass in NULL (or None in pyth on) for default flags */ LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro l special behavior of some waveform families. Pass in NULL (or None in pyth on) for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p arameters. Pass in NULL (or None in python) for standard GR waveforms */ LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p arameters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian a mplitude order */ int amplitudeO, /**< twice post-Newtonian a mplitude order */
int phaseO, /**< twice post-Newtonian o rder */ int phaseO, /**< twice post-Newtonian o rder */
Approximant approximant /**< post-Newtonian approxi mant to use for waveform production */ Approximant approximant /**< post-Newtonian approxi mant to use for waveform production */
); );
/** /**
* Interface to compute -2 spin-weighted spherical harmonic modes for a bin * Chooses between different approximants when requesting a waveform to be
ary generated
* inspiral of any available amplitude and phase PN order. * Returns the waveform in the frequency domain.
* The phasing is computed with any of the TaylorT1, T2, T3, T4 methods. * The parameters passed must be in SI units.
* *
* FIXME: Interface will be changed to return a collection of modes. * This version allows caching of waveforms. The most recently generated
* waveform and its parameters are stored. If the next call requests a wave
form
* that can be obtained by a simple transformation, then it is done.
* This bypasses the waveform generation and speeds up the code.
*/
int XLALSimInspiralChooseFDWaveformFromCache(
COMPLEX16FrequencySeries **hptilde, /**< FD plus polarization *
/
COMPLEX16FrequencySeries **hctilde, /**< FD cross polarization
*/
REAL8 phiRef, /**< reference orbital phas
e (rad) */
REAL8 deltaF, /**< sampling interval (Hz)
*/
REAL8 m1, /**< mass of companion 1 (k
g) */
REAL8 m2, /**< mass of companion 2 (k
g) */
REAL8 S1x, /**< x-component of the dim
ensionless spin of object 1 */
REAL8 S1y, /**< y-component of the dim
ensionless spin of object 1 */
REAL8 S1z, /**< z-component of the dim
ensionless spin of object 1 */
REAL8 S2x, /**< x-component of the dim
ensionless spin of object 2 */
REAL8 S2y, /**< y-component of the dim
ensionless spin of object 2 */
REAL8 S2z, /**< z-component of the dim
ensionless spin of object 2 */
REAL8 f_min, /**< starting GW frequency
(Hz) */
REAL8 f_max, /**< ending GW frequency (H
z) */
REAL8 r, /**< distance of source (m)
*/
REAL8 i, /**< inclination of source
(rad) */
REAL8 lambda1, /**< (tidal deformability o
f mass 1) / m1^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability o
f mass 2) / m2^5 (dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro
l special behavior of some waveform families. Pass in NULL (or None in pyth
on) for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p
arameters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian a
mplitude order */
int phaseO, /**< twice post-Newtonian o
rder */
Approximant approximant, /**< post-Newtonian approxi
mant to use for waveform production */
LALSimInspiralWaveformCache *cache /**< waveform cache structur
e; use NULL for no caching */
);
/**
* Interface to compute a set of -2 spin-weighted spherical harmonic modes
* for a binary inspiral of any available amplitude and phase PN order.
* The phasing is computed with any of the TaylorT1, T2, T3, T4 methods.
*/
SphHarmTimeSeries *XLALSimInspiralChooseTDModes(
REAL8 phiRef, /**< reference orbital phas
e (rad) */
REAL8 deltaT, /**< sampling interval (s)
*/
REAL8 m1, /**< mass of companion 1 (k
g) */
REAL8 m2, /**< mass of companion 2 (k
g) */
REAL8 f_min, /**< starting GW frequency
(Hz) */
REAL8 f_ref, /**< reference GW frequency
(Hz) */
REAL8 r, /**< distance of source (m)
*/
REAL8 lambda1, /**< (tidal deformability o
f mass 1) / m1^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability o
f mass 2) / m2^5 (dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro
l special behavior of some waveform families. Pass in NULL (or None in pyth
on) for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p
arameters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian a
mplitude order */
int phaseO, /**< twice post-Newtonian o
rder */
int lmax, /**< generate all modes wit
h l <= lmax */
Approximant approximant /**< post-Newtonian approxi
mant to use for waveform production */
);
/**
* Interface to compute a single -2 spin-weighted spherical harmonic mode
* for a binary inspiral of any available amplitude and phase PN order.
* The phasing is computed with any of the TaylorT1, T2, T3, T4 methods.
*/ */
COMPLEX16TimeSeries *XLALSimInspiralChooseTDModes( COMPLEX16TimeSeries *XLALSimInspiralChooseTDMode(
REAL8 phiRef, /**< reference orbital phas e (rad) */ REAL8 phiRef, /**< reference orbital phas e (rad) */
REAL8 deltaT, /**< sampling interval (s) */ REAL8 deltaT, /**< sampling interval (s) */
REAL8 m1, /**< mass of companion 1 (k g) */ REAL8 m1, /**< mass of companion 1 (k g) */
REAL8 m2, /**< mass of companion 2 (k g) */ REAL8 m2, /**< mass of companion 2 (k g) */
REAL8 f_min, /**< starting GW frequency (Hz) */ REAL8 f_min, /**< starting GW frequency (Hz) */
REAL8 f_ref, /**< reference GW frequency (Hz) */ REAL8 f_ref, /**< reference GW frequency (Hz) */
REAL8 r, /**< distance of source (m) */ REAL8 r, /**< distance of source (m) */
REAL8 lambda1, /**< (tidal deformability o f mass 1) / m1^5 (dimensionless) */ REAL8 lambda1, /**< (tidal deformability o f mass 1) / m1^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability o f mass 2) / m2^5 (dimensionless) */ REAL8 lambda2, /**< (tidal deformability o f mass 2) / m2^5 (dimensionless) */
LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro l special behavior of some waveform families. Pass in NULL (or None in pyth on) for default flags */ LALSimInspiralWaveformFlags *waveFlags, /**< Set of flags to contro l special behavior of some waveform families. Pass in NULL (or None in pyth on) for default flags */
LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p arameters. Pass in NULL (or None in python) for standard GR waveforms */ LALSimInspiralTestGRParam *nonGRparams, /**< Linked list of non-GR p arameters. Pass in NULL (or None in python) for standard GR waveforms */
int amplitudeO, /**< twice post-Newtonian a mplitude order */ int amplitudeO, /**< twice post-Newtonian a mplitude order */
int phaseO, /**< twice post-Newtonian o rder */ int phaseO, /**< twice post-Newtonian o rder */
int l, /**< l index of mode - repl int l, /**< l index of mode */
ace with a struct of several integer pairs */ int m, /**< m index of mode */
int m, /**< m index of mode - ditt
o */
Approximant approximant /**< post-Newtonian approxi mant to use for waveform production */ Approximant approximant /**< post-Newtonian approxi mant to use for waveform production */
); );
/* TaylorT4 functions */ /* TaylorT4 functions */
/** /**
* Evolves a post-Newtonian orbit using the Taylor T4 method. * Evolves a post-Newtonian orbit using the Taylor T4 method.
* *
* See: * See:
* Michael Boyle, Duncan A. Brown, Lawrence E. Kidder, Abdul H. Mroue, * Michael Boyle, Duncan A. Brown, Lawrence E. Kidder, Abdul H. Mroue,
* Harald P. Pfeiffer, Mark A. Scheel, Gregory B. Cook, and Saul A. Teukolsk y * Harald P. Pfeiffer, Mark A. Scheel, Gregory B. Cook, and Saul A. Teukolsk y
* \"High-accuracy comparison of numerical relativity simulations with * \"High-accuracy comparison of numerical relativity simulations with
* post-Newtonian expansions\" * post-Newtonian expansions\"
* <a href="http://arxiv.org/abs/0710.0158v2">arXiv:0710.0158v2</a>. * <a href="http://arxiv.org/abs/0710.0158v2">arXiv:0710.0158v2</a>.
*/ */
int XLALSimInspiralTaylorT4PNEvolveOrbit( int XLALSimInspiralTaylorT4PNEvolveOrbit(
REAL8TimeSeries **v, /**< post-Newton REAL8TimeSeries **v, /**< post-Newtonian paramete
ian parameter [returned] */ r [returned] */
REAL8TimeSeries **phi, /**< orbital pha REAL8TimeSeries **phi, /**< orbital phase [returned
se [returned] */ ] */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< start frequ REAL8 f_min, /**< start frequency (Hz) */
ency (Hz) */ REAL8 fRef, /**< reference frequency (Hz
REAL8 fRef, /**< reference f ) */
requency (Hz) */ REAL8 lambda1, /**< (tidal deformability of
REAL8 lambda1, /**< (tidal defo body 1)/(mass of body 1)^5 */
rmability of body 1)/(mass of body 1)^5 */ REAL8 lambda2, /**< (tidal deformability of
REAL8 lambda2, /**< (tidal defo body 2)/(mass of body 2)^5 */
rmability of body 2)/(mass of body 2)^5 */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
LALSimInspiralInteraction interactionFlags, /**< flag to con effects */
trol spin and tidal effects */ int O /**< twice post-Newtonian or
int O /**< twice post- der */
Newtonian order */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine allows the user to specify different pN orders * This routine allows the user to specify different pN orders
* for phasing calcuation vs. amplitude calculations. * for phasing calcuation vs. amplitude calculations.
*/ */
int XLALSimInspiralTaylorT4PNGenerator( int XLALSimInspiralTaylorT4PNGenerator(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO /**< twice post- int phaseO /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
); );
/** /**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode * Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT4 phasing. * using TaylorT4 phasing.
*/ */
COMPLEX16TimeSeries *XLALSimInspiralTaylorT4PNModes( SphHarmTimeSeries *XLALSimInspiralTaylorT4PNModes(
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO, /**< twice post- int phaseO, /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
int l, /**< l index of int lmax /**< generate all modes with
mode */ l <= lmax */
int m /**< m index of );
mode */
/**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT4 phasing.
*/
COMPLEX16TimeSeries *XLALSimInspiralTaylorT4PNMode(
REAL8 phiRef, /**< reference orbital phase
(rad) */
REAL8 v0, /**< tail-term gauge choice
(default = 1) */
REAL8 deltaT, /**< sampling interval (s) *
/
REAL8 m1, /**< mass of companion 1 (kg
) */
REAL8 m2, /**< mass of companion 2 (kg
) */
REAL8 f_min, /**< starting GW frequency (
Hz) */
REAL8 fRef, /**< reference GW frequency
(Hz) */
REAL8 r, /**< distance of source (m)
*/
REAL8 lambda1, /**< (tidal deformability of
body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal deformability of
body 2)/(mass of body 2)^5 */
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
effects */
int amplitudeO, /**< twice post-Newtonian am
plitude order */
int phaseO, /**< twice post-Newtonian ph
ase order */
int l, /**< l index of mode */
int m /**< m index of mode */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine uses the same pN order for phasing and amplitude * This routine uses the same pN order for phasing and amplitude
* (unless the order is -1 in which case the highest available * (unless the order is -1 in which case the highest available
* order is used for both of these -- which might not be the same). * order is used for both of these -- which might not be the same).
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT4PN( int XLALSimInspiralTaylorT4PN(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (Hz)
terval (Hz) */ */
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< start frequ REAL8 f_min, /**< start frequency (Hz) */
ency (Hz) */ REAL8 fRef, /**< reference frequency (Hz
REAL8 fRef, /**< reference f ) */
requency (Hz) */ REAL8 r, /**< distance of source (m)
REAL8 r, /**< distance of */
source (m) */ REAL8 i, /**< inclination of source (
REAL8 i, /**< inclination rad) */
of source (rad) */ REAL8 lambda1, /**< (tidal deformability of
REAL8 lambda1, /**< (tidal defo body 1)/(mass of body 1)^5 */
rmability of body 1)/(mass of body 1)^5 */ REAL8 lambda2, /**< (tidal deformability of
REAL8 lambda2, /**< (tidal defo body 2)/(mass of body 2)^5 */
rmability of body 2)/(mass of body 2)^5 */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
LALSimInspiralInteraction interactionFlags, /**< flag to con effects */
trol spin and tidal effects */ int O /**< twice post-Newtonian or
int O /**< twice post- der */
Newtonian order */
); );
/** /**
* Driver routine to compute the restricted post-Newtonian inspiral wavefor m. * Driver routine to compute the restricted post-Newtonian inspiral wavefor m.
* *
* This routine computes the phasing to the specified order, but * This routine computes the phasing to the specified order, but
* only computes the amplitudes to the Newtonian (quadrupole) order. * only computes the amplitudes to the Newtonian (quadrupole) order.
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT4PNRestricted( int XLALSimInspiralTaylorT4PNRestricted(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< start frequ REAL8 f_min, /**< start frequency (Hz) */
ency (Hz) */ REAL8 fRef, /**< reference frequency (Hz
REAL8 fRef, /**< reference f ) */
requency (Hz) */ REAL8 r, /**< distance of source (m)
REAL8 r, /**< distance of */
source (m) */ REAL8 i, /**< inclination of source (
REAL8 i, /**< inclination rad) */
of source (rad) */ REAL8 lambda1, /**< (tidal deformability of
REAL8 lambda1, /**< (tidal defo body 1)/(mass of body 1)^5 */
rmability of body 1)/(mass of body 1)^5 */ REAL8 lambda2, /**< (tidal deformability of
REAL8 lambda2, /**< (tidal defo body 2)/(mass of body 2)^5 */
rmability of body 2)/(mass of body 2)^5 */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
LALSimInspiralInteraction interactionFlags, /**< flag to con effects */
trol spin and tidal effects */ int O /**< twice post-Newtonian ph
int O /**< twice post- ase order */
Newtonian phase order */
); );
/* TaylorT3 functions */ /* TaylorT3 functions */
/** /**
* Evolves a post-Newtonian orbit using the Taylor T3 method. * Evolves a post-Newtonian orbit using the Taylor T3 method.
*/ */
int XLALSimInspiralTaylorT3PNEvolveOrbit( int XLALSimInspiralTaylorT3PNEvolveOrbit(
REAL8TimeSeries **V, /**< post-Newton REAL8TimeSeries **V, /**< post-Newtonian paramete
ian parameter [returned] */ r [returned] */
REAL8TimeSeries **phi, /**< orbital pha REAL8TimeSeries **phi, /**< orbital phase [returned
se [returned] */ ] */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian or
Newtonian order */ der */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine allows the user to specify different pN orders * This routine allows the user to specify different pN orders
* for phasing calcuation vs. amplitude calculations. * for phasing calcuation vs. amplitude calculations.
*/ */
int XLALSimInspiralTaylorT3PNGenerator( int XLALSimInspiralTaylorT3PNGenerator(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO /**< twice post- int phaseO /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
);
/**
* Driver routine to compute the -2 spin-weighted spherical harmonic modes
* using TaylorT3 phasing.
*/
SphHarmTimeSeries *XLALSimInspiralTaylorT3PNModes(
REAL8 phiRef, /**< reference orbital phase
(rad) */
REAL8 v0, /**< tail-term gauge choice
(default = 1) */
REAL8 deltaT, /**< sampling interval (s) *
/
REAL8 m1, /**< mass of companion 1 (kg
) */
REAL8 m2, /**< mass of companion 2 (kg
) */
REAL8 f_min, /**< starting GW frequency (
Hz) */
REAL8 fRef, /**< reference GW frequency
(Hz) */
REAL8 r, /**< distance of source (m)
*/
REAL8 lambda1, /**< (tidal deformability of
body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal deformability of
body 2)/(mass of body 2)^5 */
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
effects */
int amplitudeO, /**< twice post-Newtonian am
plitude order */
int phaseO, /**< twice post-Newtonian ph
ase order */
int lmax /**< generate all modes with
l <= lmax */
); );
/** /**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode * Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT3 phasing. * using TaylorT3 phasing.
*/ */
COMPLEX16TimeSeries *XLALSimInspiralTaylorT3PNModes( COMPLEX16TimeSeries *XLALSimInspiralTaylorT3PNMode(
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO, /**< twice post- int phaseO, /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
int l, /**< l index of int l, /**< l index of mode */
mode */ int m /**< m index of mode */
int m /**< m index of
mode */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine uses the same pN order for phasing and amplitude * This routine uses the same pN order for phasing and amplitude
* (unless the order is -1 in which case the highest available * (unless the order is -1 in which case the highest available
* order is used for both of these -- which might not be the same). * order is used for both of these -- which might not be the same).
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT3PN( int XLALSimInspiralTaylorT3PN(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian or
Newtonian order */ der */
); );
/** /**
* Driver routine to compute the restricted post-Newtonian inspiral wavefor m. * Driver routine to compute the restricted post-Newtonian inspiral wavefor m.
* *
* This routine computes the phasing to the specified order, but * This routine computes the phasing to the specified order, but
* only computes the amplitudes to the Newtonian (quadrupole) order. * only computes the amplitudes to the Newtonian (quadrupole) order.
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT3PNRestricted( int XLALSimInspiralTaylorT3PNRestricted(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)*
source (m)*/ /
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
); );
/* TaylorT2 functions */ /* TaylorT2 functions */
/** /**
* Evolves a post-Newtonian orbit using the Taylor T2 method. * Evolves a post-Newtonian orbit using the Taylor T2 method.
*/ */
int XLALSimInspiralTaylorT2PNEvolveOrbit( int XLALSimInspiralTaylorT2PNEvolveOrbit(
REAL8TimeSeries **V, /**< post-Newton REAL8TimeSeries **V, /**< post-Newtonian paramete
ian parameter [returned] */ r [returned] */
REAL8TimeSeries **phi, /**< orbital pha REAL8TimeSeries **phi, /**< orbital phase [returned
se [returned] */ ] */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian or
Newtonian order */ der */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine allows the user to specify different pN orders * This routine allows the user to specify different pN orders
* for phasing calcuation vs. amplitude calculations. * for phasing calcuation vs. amplitude calculations.
*/ */
int XLALSimInspiralTaylorT2PNGenerator( int XLALSimInspiralTaylorT2PNGenerator(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO /**< twice post- int phaseO /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
);
/**
* Driver routine to compute the -2 spin-weighted spherical harmonic modes
* using TaylorT2 phasing.
*/
SphHarmTimeSeries *XLALSimInspiralTaylorT2PNModes(
REAL8 phiRef, /**< reference orbital phase
(rad) */
REAL8 v0, /**< tail-term gauge choice
(default = 1) */
REAL8 deltaT, /**< sampling interval (s) *
/
REAL8 m1, /**< mass of companion 1 (kg
) */
REAL8 m2, /**< mass of companion 2 (kg
) */
REAL8 f_min, /**< starting GW frequency (
Hz) */
REAL8 fRef, /**< reference GW frequency
(Hz) */
REAL8 r, /**< distance of source (m)
*/
REAL8 lambda1, /**< (tidal deformability of
body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal deformability of
body 2)/(mass of body 2)^5 */
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
effects */
int amplitudeO, /**< twice post-Newtonian am
plitude order */
int phaseO, /**< twice post-Newtonian ph
ase order */
int lmax /**< generate all modes with
l <= lmax */
); );
/** /**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode * Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT2 phasing. * using TaylorT2 phasing.
*/ */
COMPLEX16TimeSeries *XLALSimInspiralTaylorT2PNModes( COMPLEX16TimeSeries *XLALSimInspiralTaylorT2PNMode(
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO, /**< twice post- int phaseO, /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
int l, /**< l index of int l, /**< l index of mode */
mode */ int m /**< m index of mode */
int m /**< m index of
mode */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine uses the same pN order for phasing and amplitude * This routine uses the same pN order for phasing and amplitude
* (unless the order is -1 in which case the highest available * (unless the order is -1 in which case the highest available
* order is used for both of these -- which might not be the same). * order is used for both of these -- which might not be the same).
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT2PN( int XLALSimInspiralTaylorT2PN(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz)*/ Hz)*/
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz)*/ (Hz)*/
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian or
Newtonian order */ der */
); );
/** /**
* Driver routine to compute the restricted post-Newtonian inspiral wavefor m. * Driver routine to compute the restricted post-Newtonian inspiral wavefor m.
* *
* This routine computes the phasing to the specified order, but * This routine computes the phasing to the specified order, but
* only computes the amplitudes to the Newtonian (quadrupole) order. * only computes the amplitudes to the Newtonian (quadrupole) order.
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT2PNRestricted( int XLALSimInspiralTaylorT2PNRestricted(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
); );
/* TaylorT1 functions */ /* TaylorT1 functions */
/** /**
* Evolves a post-Newtonian orbit using the Taylor T1 method. * Evolves a post-Newtonian orbit using the Taylor T1 method.
*/ */
int XLALSimInspiralTaylorT1PNEvolveOrbit( int XLALSimInspiralTaylorT1PNEvolveOrbit(
REAL8TimeSeries **V, /**< post-Newton REAL8TimeSeries **V, /**< post-Newtonian paramete
ian parameter [returned] */ r [returned] */
REAL8TimeSeries **phi, /**< orbital pha REAL8TimeSeries **phi, /**< orbital phase [returned
se [returned] */ ] */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< start frequ REAL8 f_min, /**< start frequency (Hz) */
ency (Hz) */ REAL8 fRef, /**< reference frequency (Hz
REAL8 fRef, /**< reference f ) */
requency (Hz) */ REAL8 lambda1, /**< (tidal deformability of
REAL8 lambda1, /**< (tidal defo body 1)/(mass of body 1)^5 */
rmability of body 1)/(mass of body 1)^5 */ REAL8 lambda2, /**< (tidal deformability of
REAL8 lambda2, /**< (tidal defo body 2)/(mass of body 2)^5 */
rmability of body 2)/(mass of body 2)^5 */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
LALSimInspiralInteraction interactionFlags, /**< flag to con effects */
trol spin and tidal effects */ int O /**< twice post-Newtonian or
int O /**< twice post- der */
Newtonian order */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine allows the user to specify different pN orders * This routine allows the user to specify different pN orders
* for phasing calcuation vs. amplitude calculations. * for phasing calcuation vs. amplitude calculations.
*/ */
int XLALSimInspiralTaylorT1PNGenerator( int XLALSimInspiralTaylorT1PNGenerator(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO /**< twice post- int phaseO /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
);
/**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT1 phasing.
*/
SphHarmTimeSeries *XLALSimInspiralTaylorT1PNModes(
REAL8 phiRef, /**< reference orbital phase
(rad) */
REAL8 v0, /**< tail-term gauge choice
(default = 1) */
REAL8 deltaT, /**< sampling interval (s) *
/
REAL8 m1, /**< mass of companion 1 (kg
) */
REAL8 m2, /**< mass of companion 2 (kg
) */
REAL8 f_min, /**< starting GW frequency (
Hz) */
REAL8 fRef, /**< reference GW frequency
(Hz) */
REAL8 r, /**< distance of source (m)
*/
REAL8 lambda1, /**< (tidal deformability of
body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal deformability of
body 2)/(mass of body 2)^5 */
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
effects */
int amplitudeO, /**< twice post-Newtonian am
plitude order */
int phaseO, /**< twice post-Newtonian ph
ase order */
int lmax /**< generate all modes wit
h l <= lmax */
); );
/** /**
* Driver routine to compute the -2 spin-weighted spherical harmonic mode * Driver routine to compute the -2 spin-weighted spherical harmonic mode
* using TaylorT1 phasing. * using TaylorT1 phasing.
*/ */
COMPLEX16TimeSeries *XLALSimInspiralTaylorT1PNModes( COMPLEX16TimeSeries *XLALSimInspiralTaylorT1PNMode(
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 v0, /**< tail-term g REAL8 v0, /**< tail-term gauge choice
auge choice (default = 1) */ (default = 1) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)
source (m) */ */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int amplitudeO, /**< twice post- int amplitudeO, /**< twice post-Newtonian am
Newtonian amplitude order */ plitude order */
int phaseO, /**< twice post- int phaseO, /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
int l, /**< l index of int l, /**< l index of mode */
mode */ int m /**< m index of mode */
int m /**< m index of
mode */
); );
/** /**
* Driver routine to compute the post-Newtonian inspiral waveform. * Driver routine to compute the post-Newtonian inspiral waveform.
* *
* This routine uses the same pN order for phasing and amplitude * This routine uses the same pN order for phasing and amplitude
* (unless the order is -1 in which case the highest available * (unless the order is -1 in which case the highest available
* order is used for both of these -- which might not be the same). * order is used for both of these -- which might not be the same).
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT1PN( int XLALSimInspiralTaylorT1PN(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< start frequ REAL8 f_min, /**< start frequency (Hz) */
ency (Hz) */ REAL8 fRef, /**< reference frequency (Hz
REAL8 fRef, /**< reference f ) */
requency (Hz) */ REAL8 r, /**< distance of source (m)
REAL8 r, /**< distance of */
source (m) */ REAL8 i, /**< inclination of source (
REAL8 i, /**< inclination rad) */
of source (rad) */ REAL8 lambda1, /**< (tidal deformability of
REAL8 lambda1, /**< (tidal defo body 1)/(mass of body 1)^5 */
rmability of body 1)/(mass of body 1)^5 */ REAL8 lambda2, /**< (tidal deformability of
REAL8 lambda2, /**< (tidal defo body 2)/(mass of body 2)^5 */
rmability of body 2)/(mass of body 2)^5 */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
LALSimInspiralInteraction interactionFlags, /**< flag to con effects */
trol spin and tidal effects */ int O /**< twice post-Newtonian or
int O /**< twice post- der */
Newtonian order */
); );
/** /**
* Driver routine to compute the restricted post-Newtonian inspiral wavefor m. * Driver routine to compute the restricted post-Newtonian inspiral wavefor m.
* *
* This routine computes the phasing to the specified order, but * This routine computes the phasing to the specified order, but
* only computes the amplitudes to the Newtonian (quadrupole) order. * only computes the amplitudes to the Newtonian (quadrupole) order.
* *
* Constant log term in amplitude set to 1. This is a gauge choice. * Constant log term in amplitude set to 1. This is a gauge choice.
*/ */
int XLALSimInspiralTaylorT1PNRestricted( int XLALSimInspiralTaylorT1PNRestricted(
REAL8TimeSeries **hplus, /**< +-polarizat REAL8TimeSeries **hplus, /**< +-polarization waveform
ion waveform */ */
REAL8TimeSeries **hcross, /**< x-polarizat REAL8TimeSeries **hcross, /**< x-polarization waveform
ion waveform */ */
REAL8 phiRef, /**< reference o REAL8 phiRef, /**< reference orbital phase
rbital phase (rad) */ (rad) */
REAL8 deltaT, /**< sampling in REAL8 deltaT, /**< sampling interval (s) *
terval (s) */ /
REAL8 m1, /**< mass of com REAL8 m1, /**< mass of companion 1 (kg
panion 1 (kg) */ ) */
REAL8 m2, /**< mass of com REAL8 m2, /**< mass of companion 2 (kg
panion 2 (kg) */ ) */
REAL8 f_min, /**< starting GW REAL8 f_min, /**< starting GW frequency (
frequency (Hz) */ Hz) */
REAL8 fRef, /**< reference G REAL8 fRef, /**< reference GW frequency
W frequency (Hz) */ (Hz) */
REAL8 r, /**< distance of REAL8 r, /**< distance of source (m)*
source (m)*/ /
REAL8 i, /**< inclination REAL8 i, /**< inclination of source (
of source (rad) */ rad) */
REAL8 lambda1, /**< (tidal defo REAL8 lambda1, /**< (tidal deformability of
rmability of body 1)/(mass of body 1)^5 */ body 1)/(mass of body 1)^5 */
REAL8 lambda2, /**< (tidal defo REAL8 lambda2, /**< (tidal deformability of
rmability of body 2)/(mass of body 2)^5 */ body 2)/(mass of body 2)^5 */
LALSimInspiralInteraction interactionFlags, /**< flag to con LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
trol spin and tidal effects */ effects */
int O /**< twice post- int O /**< twice post-Newtonian ph
Newtonian phase order */ ase order */
); );
/* TaylorEt functions */ /* TaylorEt functions */
/** /**
* Evolves a post-Newtonian orbit using the Taylor T1 method. * Evolves a post-Newtonian orbit using the Taylor T1 method.
*/ */
int XLALSimInspiralTaylorEtPNEvolveOrbit( int XLALSimInspiralTaylorEtPNEvolveOrbit(
REAL8TimeSeries **V, /**< post-Newtonian parameter [return ed] */ REAL8TimeSeries **V, /**< post-Newtonian parameter [return ed] */
REAL8TimeSeries **phi, /**< orbital phase [returned] */ REAL8TimeSeries **phi, /**< orbital phase [returned] */
skipping to change at line 1600 skipping to change at line 1862
); );
/** /**
* Computes the stationary phase approximation to the Fourier transform of * Computes the stationary phase approximation to the Fourier transform of
* a chirp waveform with phase given by Eq.\eqref{eq_InspiralFourierPhase_f 2} * a chirp waveform with phase given by Eq.\eqref{eq_InspiralFourierPhase_f 2}
* and amplitude given by expanding \f$1/\sqrt{\dot{F}}\f$. If the PN order is * and amplitude given by expanding \f$1/\sqrt{\dot{F}}\f$. If the PN order is
* set to -1, then the highest implemented order is used. * set to -1, then the highest implemented order is used.
*/ */
int XLALSimInspiralTaylorF2( int XLALSimInspiralTaylorF2(
COMPLEX16FrequencySeries **htilde, /**< FD waveform */ COMPLEX16FrequencySeries **htilde, /**< FD waveform */
const REAL8 phic, /**< orbital coalescence ph const REAL8 phic, /**< orbital coalescence pha
ase (rad) */ se (rad) */
const REAL8 deltaF, /**< frequency resolution * const REAL8 deltaF, /**< frequency resolution */
/ const REAL8 m1_SI, /**< mass of companion 1 (kg
const REAL8 m1_SI, /**< mass of companion 1 (k ) */
g) */ const REAL8 m2_SI, /**< mass of companion 2 (kg
const REAL8 m2_SI, /**< mass of companion 2 (k ) */
g) */ const REAL8 S1z, /**< z component of the sp
const REAL8 fStart, /**< start GW frequency (Hz in of companion 1 */
) */ const REAL8 S2z, /**< z component of the sp
const REAL8 r, /**< distance of source (m) in of companion 2 */
*/ const REAL8 fStart, /**< start GW frequency (Hz)
const REAL8 lambda1, /**< (tidal deformation of */
body 1)/(mass of body 1)^5 */ const REAL8 fEnd, /**< highest GW frequency (H
const REAL8 lambda2, /**< (tidal deformation of z) of waveform generation - if 0, end at Schwarzschild ISCO */
body 2)/(mass of body 2)^5 */ const REAL8 r, /**< distance of source (m)
const LALSimInspiralInteraction interactionFlags, /**< flag */
to control spin and tidal effects */ const REAL8 lambda1, /**< (tidal deformation of b
const INT4 phaseO, /**< twice PN phase order * ody 1)/(mass of body 1)^5 */
/ const REAL8 lambda2, /**< (tidal deformation of b
const INT4 amplitudeO /**< twice PN amplitude ord ody 2)/(mass of body 2)^5 */
er */ const LALSimInspiralSpinOrder spinO, /**< twice PN order of
); spin effects */
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal
effects */
const INT4 phaseO, /**< twice PN phase order */
const INT4 amplitudeO /**< twice PN amplitude orde
r */
);
int XLALSimInspiralSpinTaylorF2(
COMPLEX16FrequencySeries **htilde_out, /**< frequency-domain wavefor
m */
REAL8 psi, /**< desired polarization */
REAL8 phic, /**< coalescence GW phase */
REAL8 deltaF, /**< sampling frequency (Hz) */
REAL8 m1_SI, /**< mass of companion 1 (kg) */
REAL8 m2_SI, /**< mass of companion 2 (kg) */
REAL8 fStart, /**< start GW frequency (Hz) */
REAL8 r, /**< distance of source (m) */
REAL8 s1x, /**< initial value of S1x */
REAL8 s1y, /**< initial value of S1y */
REAL8 s1z, /**< initial value of S1z */
REAL8 lnhatx, /**< initial value of LNhatx */
REAL8 lnhaty, /**< initial value of LNhaty */
REAL8 lnhatz, /**< initial value of LNhatz */
int phaseO, /**< twice PN phase order */
int amplitudeO /**< twice PN amplitude order */
);
/** /**
* Functions for generic spinning waveforms. * Functions for generic spinning waveforms.
* Reproduce and extend old SpinTaylor(Frameless) and SQTPN waveforms * Reproduce and extend old SpinTaylor(Frameless) and SQTPN waveforms
*/ */
/** /**
* This function evolves the orbital equations for a precessing binary usin g * This function evolves the orbital equations for a precessing binary usin g
* the \"TaylorT4\" approximant for solving the orbital dynamics * the \"TaylorT1/T2/T4\" approximant for solving the orbital dynamics
* (see arXiv:0907.0700 for a review of the various PN approximants). * (see arXiv:0907.0700 for a review of the various PN approximants).
* *
* It returns time series of the \"orbital velocity\", orbital phase, * It returns time series of the \"orbital velocity\", orbital phase,
* and components for both individual spin vectors, the \"Newtonian\" * and components for both individual spin vectors, the \"Newtonian\"
* orbital angular momentum (which defines the instantaneous plane) * orbital angular momentum (which defines the instantaneous plane)
* and \"E1\", a basis vector in the instantaneous orbital plane. * and \"E1\", a basis vector in the instantaneous orbital plane.
* Note that LNhat and E1 completely specify the instantaneous orbital plan e. * Note that LNhat and E1 completely specify the instantaneous orbital plan e.
* It also returns the time and phase of the final time step * It also returns the time and phase of the final time step
* *
* For input, the function takes the two masses, the initial orbital phase, * For input, the function takes the two masses, the initial orbital phase,
* Components for S1, S2, LNhat, E1 vectors at starting time, * Components for S1, S2, LNhat, E1 vectors at starting time,
* the desired time step size, the starting GW frequency, * the desired time step size, the starting GW frequency,
* and PN order at which to evolve the phase, * and PN order at which to evolve the phase,
* *
* NOTE: All vectors are given in the so-called \"radiation frame\", * NOTE: All vectors are given in the so-called \"radiation frame\",
* where the direction of propagation is the z-axis, the principal \"+\" * where the direction of propagation is the z-axis, the principal \"+\"
* polarization axis is the x-axis, and the y-axis is given by the RH rule. * polarization axis is the x-axis, and the y-axis is given by the RH rule.
* You must give the initial values in this frame, and the time series of t he * You must give the initial values in this frame, and the time series of t he
* vector components will also be returned in this frame * vector components will also be returned in this frame
*/ */
int XLALSimInspiralPNEvolveOrbitSpinTaylorT4( int XLALSimInspiralSpinTaylorPNEvolveOrbit(
REAL8TimeSeries **V, /**< post-Newtonian parameter [returned]*/ REAL8TimeSeries **V, /**< post-Newtonian parameter [returned]*/
REAL8TimeSeries **Phi, /**< orbital phase [returned]*/ REAL8TimeSeries **Phi, /**< orbital phase [returned]*/
REAL8TimeSeries **S1x, /**< Spin1 vector x component [returned]*/ REAL8TimeSeries **S1x, /**< Spin1 vector x component [returned]*/
REAL8TimeSeries **S1y, /**< -- y component [returned]*/ REAL8TimeSeries **S1y, /**< -- y component [returned]*/
REAL8TimeSeries **S1z, /**< -- z component [returned]*/ REAL8TimeSeries **S1z, /**< -- z component [returned]*/
REAL8TimeSeries **S2x, /**< Spin2 vector x component [returned]*/ REAL8TimeSeries **S2x, /**< Spin2 vector x component [returned]*/
REAL8TimeSeries **S2y, /**< -- y component [returned]*/ REAL8TimeSeries **S2y, /**< -- y component [returned]*/
REAL8TimeSeries **S2z, /**< -- z component [returned]*/ REAL8TimeSeries **S2z, /**< -- z component [returned]*/
REAL8TimeSeries **LNhatx, /**< unit orbital ang. mom. x [returned]*/ REAL8TimeSeries **LNhatx, /**< unit orbital ang. mom. x [returned]*/
REAL8TimeSeries **LNhaty, /**< -- y component [returned]*/ REAL8TimeSeries **LNhaty, /**< -- y component [returned]*/
skipping to change at line 1673 skipping to change at line 1958
REAL8 s1z, /**< initial value of S1z */ REAL8 s1z, /**< initial value of S1z */
REAL8 s2x, /**< initial value of S2x */ REAL8 s2x, /**< initial value of S2x */
REAL8 s2y, /**< initial value of S2y */ REAL8 s2y, /**< initial value of S2y */
REAL8 s2z, /**< initial value of S2z */ REAL8 s2z, /**< initial value of S2z */
REAL8 lnhatx, /**< initial value of LNhatx */ REAL8 lnhatx, /**< initial value of LNhatx */
REAL8 lnhaty, /**< initial value of LNhaty */ REAL8 lnhaty, /**< initial value of LNhaty */
REAL8 lnhatz, /**< initial value of LNhatz */ REAL8 lnhatz, /**< initial value of LNhatz */
REAL8 e1x, /**< initial value of E1x */ REAL8 e1x, /**< initial value of E1x */
REAL8 e1y, /**< initial value of E1y */ REAL8 e1y, /**< initial value of E1y */
REAL8 e1z, /**< initial value of E1z */ REAL8 e1z, /**< initial value of E1z */
REAL8 lambda1, /**< (tidal deformability of mass 1) / REAL8 lambda1, /**< (tidal deformability of mass 1) / (to
(total mass)^5 (dimensionless) */ tal mass)^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability of mass 2) / REAL8 lambda2, /**< (tidal deformability of mass 2) / (to
(total mass)^5 (dimensionless) */ tal mass)^5 (dimensionless) */
LALSimInspiralInteraction interactionFlags, /**< flag to control REAL8 quadparam1, /**< phenom. parameter describing in
spin and tidal effects */ duced quad. moment of body 1 (=1 for BHs, ~2-12 for NSs) */
INT4 phaseO /**< twice post-Newtonian order */ REAL8 quadparam2, /**< phenom. parameter describing in
duced quad. moment of body 2 (=1 for BHs, ~2-12 for NSs) */
LALSimInspiralSpinOrder spinO, /**< twice PN order of spin effects
*/
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal effects
*/
INT4 phaseO, /**< twice post-Newtonian order */
Approximant approx /**< PN approximant (SpinTaylorT1/T2/T4) *
/
); );
/** /**
* Driver routine to compute a precessing post-Newtonian inspiral waveform * Driver routine to compute a precessing post-Newtonian inspiral waveform
* with phasing computed from energy balance using the so-called \"T4\" met hod. * with phasing computed from energy balance using the so-called \"T4\" met hod.
* *
* This routine allows the user to specify different pN orders * This routine allows the user to specify different pN orders
* for the phasing and amplitude of the waveform. * for the phasing and amplitude of the waveform.
* *
* The reference frequency fRef is used as follows: * The reference frequency fRef is used as follows:
skipping to change at line 1730 skipping to change at line 2019
REAL8 s2y, /**< initial value of S2y */ REAL8 s2y, /**< initial value of S2y */
REAL8 s2z, /**< initial value of S2z */ REAL8 s2z, /**< initial value of S2z */
REAL8 lnhatx, /**< initial value of LNhatx */ REAL8 lnhatx, /**< initial value of LNhatx */
REAL8 lnhaty, /**< initial value of LNhaty */ REAL8 lnhaty, /**< initial value of LNhaty */
REAL8 lnhatz, /**< initial value of LNhatz */ REAL8 lnhatz, /**< initial value of LNhatz */
REAL8 e1x, /**< initial value of E1x */ REAL8 e1x, /**< initial value of E1x */
REAL8 e1y, /**< initial value of E1y */ REAL8 e1y, /**< initial value of E1y */
REAL8 e1z, /**< initial value of E1z */ REAL8 e1z, /**< initial value of E1z */
REAL8 lambda1, /**< (tidal deformability of mass 1) / (total mass)^5 (dimensionless) */ REAL8 lambda1, /**< (tidal deformability of mass 1) / (total mass)^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability of mass 2) / (total mass)^5 (dimensionless) */ REAL8 lambda2, /**< (tidal deformability of mass 2) / (total mass)^5 (dimensionless) */
LALSimInspiralInteraction interactionFlags, /**< flag to control spi REAL8 quadparam1, /**< phenom. parameter describing in
n and tidal effects */ duced quad. moment of body 1 (=1 for BHs, ~2-12 for NSs) */
REAL8 quadparam2, /**< phenom. parameter describing in
duced quad. moment of body 2 (=1 for BHs, ~2-12 for NSs) */
LALSimInspiralSpinOrder spinO, /**< twice PN order of spin effects
*/
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal effects
*/
int phaseO, /**< twice PN phase order */
int amplitudeO /**< twice PN amplitude order */
);
int XLALSimInspiralSpinTaylorT2(
REAL8TimeSeries **hplus, /**< +-polarization waveform */
REAL8TimeSeries **hcross, /**< x-polarization waveform */
REAL8 phiRef, /**< orbital phase at reference pt.
*/
REAL8 v0, /**< tail gauge term (default = 1) *
/
REAL8 deltaT, /**< sampling interval (s) */
REAL8 m1, /**< mass of companion 1 (kg) */
REAL8 m2, /**< mass of companion 2 (kg) */
REAL8 fStart, /**< start GW frequency (Hz) */
REAL8 fRef, /**< reference GW frequency (Hz) */
REAL8 r, /**< distance of source (m) */
REAL8 s1x, /**< initial value of S1x */
REAL8 s1y, /**< initial value of S1y */
REAL8 s1z, /**< initial value of S1z */
REAL8 s2x, /**< initial value of S2x */
REAL8 s2y, /**< initial value of S2y */
REAL8 s2z, /**< initial value of S2z */
REAL8 lnhatx, /**< initial value of LNhatx */
REAL8 lnhaty, /**< initial value of LNhaty */
REAL8 lnhatz, /**< initial value of LNhatz */
REAL8 e1x, /**< initial value of E1x */
REAL8 e1y, /**< initial value of E1y */
REAL8 e1z, /**< initial value of E1z */
REAL8 lambda1, /**< (tidal deformability of mass 1)
/ (total mass)^5 (dimensionless) */
REAL8 lambda2, /**< (tidal deformability of mass 2)
/ (total mass)^5 (dimensionless) */
REAL8 quadparam1, /**< phenom. parameter describing in
duced quad. moment of body 1 (=1 for BHs, ~2-12 for NSs) */
REAL8 quadparam2, /**< phenom. parameter describing in
duced quad. moment of body 2 (=1 for BHs, ~2-12 for NSs) */
LALSimInspiralSpinOrder spinO, /**< twice PN order of spin effects
*/
LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal effects
*/
int phaseO, /**< twice PN phase order */ int phaseO, /**< twice PN phase order */
int amplitudeO /**< twice PN amplitude order */ int amplitudeO /**< twice PN amplitude order */
); );
/** /**
* Driver routine to compute the physical template family "Q" vectors using * Driver routine to compute the physical template family "Q" vectors using
* the \"T4\" method. Note that PTF describes single spin systems * the \"T4\" method. Note that PTF describes single spin systems
* *
* This routine requires leading-order amplitude dependence * This routine requires leading-order amplitude dependence
* but allows the user to specify the phase PN order * but allows the user to specify the phase PN order
*/ */
int XLALSimInspiralSpinTaylorT4PTFQVecs( int XLALSimInspiralSpinTaylorT4PTFQVecs(
REAL8TimeSeries **Q1, /**< Q1 output vector */ REAL8TimeSeries **Q1, /**< Q1 output vector */
REAL8TimeSeries **Q2, /**< Q2 output vector */ REAL8TimeSeries **Q2, /**< Q2 output vector */
REAL8TimeSeries **Q3, /**< Q3 output vector */ REAL8TimeSeries **Q3, /**< Q3 output vector */
REAL8TimeSeries **Q4, /**< Q4 output vector */ REAL8TimeSeries **Q4, /**< Q4 output vector */
REAL8TimeSeries **Q5, /**< Q5 output vector */ REAL8TimeSeries **Q5, /**< Q5 output vector */
REAL8 deltaT, /**< sampling interval (s) */ REAL8 deltaT, /**< sampling interval (s) */
REAL8 m1, /**< mass of companion 1 (kg) */ REAL8 m1, /**< mass of companion 1 (kg) */
REAL8 m2, /**< mass of companion 2 (kg) */ REAL8 m2, /**< mass of companion 2 (kg) */
REAL8 chi1, /**< spin magnitude (|S1|) */ REAL8 chi1, /**< spin magnitude (|S1|) */
REAL8 kappa, /**< L . S (1 if they are aligned) REAL8 kappa, /**< L . S (1 if they are aligned) */
*/ REAL8 fStart, /**< start GW frequency (Hz) */
REAL8 fStart, /**< start GW frequency (Hz) */ REAL8 lambda1, /**< (tidal deformability of mass 1) /
REAL8 lambda1, /**< (tidal deformability of mass 1 (total mass)^5 (dimensionless) */
) / (total mass)^5 (dimensionless) */ REAL8 lambda2, /**< (tidal deformability of mass 2) /
REAL8 lambda2, /**< (tidal deformability of mass 2 (total mass)^5 (dimensionless) */
) / (total mass)^5 (dimensionless) */ LALSimInspiralSpinOrder spinO, /**< twice PN order of spin effects
LALSimInspiralInteraction interactionFlags, /**< flag to control sp */
in and tidal effects */ LALSimInspiralTidalOrder tideO, /**< twice PN order of tidal effects
int phaseO /**< twice PN phase order */ */
int phaseO /**< twice PN phase order */
); );
/** /**
* Function to specify the desired orientation of a precessing binary in te rms * Function to specify the desired orientation of a precessing binary in te rms
* of several angles and then compute the vector components in the so-calle d * of several angles and then compute the vector components in the so-calle d
* \"radiation frame\" (with the z-axis along the direction of propagation) as * \"radiation frame\" (with the z-axis along the direction of propagation) as
* needed to specify binary configuration for ChooseTDWaveform. * needed to specify binary configuration for ChooseTDWaveform.
* *
* Input: * Input:
* thetaJN is the inclination between total angular momentum (J) and th e * thetaJN is the inclination between total angular momentum (J) and th e
skipping to change at line 1861 skipping to change at line 2187
* case. * case.
*/ */
int XLALSimInspiralTaylorF2ReducedSpin( int XLALSimInspiralTaylorF2ReducedSpin(
COMPLEX16FrequencySeries **htilde, /**< FD waveform */ COMPLEX16FrequencySeries **htilde, /**< FD waveform */
const REAL8 phic, /**< orbital coalescence phase (rad ) */ const REAL8 phic, /**< orbital coalescence phase (rad ) */
const REAL8 deltaF, /**< frequency resolution (Hz) */ const REAL8 deltaF, /**< frequency resolution (Hz) */
const REAL8 m1_SI, /**< mass of companion 1 (kg) */ const REAL8 m1_SI, /**< mass of companion 1 (kg) */
const REAL8 m2_SI, /**< mass of companion 2 (kg) */ const REAL8 m2_SI, /**< mass of companion 2 (kg) */
const REAL8 chi, /**< dimensionless aligned-spin par am */ const REAL8 chi, /**< dimensionless aligned-spin par am */
const REAL8 fStart, /**< start GW frequency (Hz) */ const REAL8 fStart, /**< start GW frequency (Hz) */
const REAL8 fEnd, /**< highest GW frequency (Hz) of w aveform generation - if 0, end at Schwarzschild ISCO */
const REAL8 r, /**< distance of source (m) */ const REAL8 r, /**< distance of source (m) */
const INT4 phaseO, /**< twice PN phase order */ const INT4 phaseO, /**< twice PN phase order */
const INT4 ampO /**< twice PN amplitude order */ const INT4 ampO /**< twice PN amplitude order */
); );
/** /**
* Generate the \"reduced-spin templates\" proposed in http://arxiv.org/abs /1107.1267 * Generate the \"reduced-spin templates\" proposed in http://arxiv.org/abs /1107.1267
* Add the tidal phase terms from http://arxiv.org/abs/1101.1673 (Eqs. 3.9, 3.10) * Add the tidal phase terms from http://arxiv.org/abs/1101.1673 (Eqs. 3.9, 3.10)
* The chi parameter should be determined from XLALSimInspiralTaylorF2Reduc edSpinComputeChi. * The chi parameter should be determined from XLALSimInspiralTaylorF2Reduc edSpinComputeChi.
*/ */
int XLALSimInspiralTaylorF2ReducedSpinTidal( int XLALSimInspiralTaylorF2ReducedSpinTidal(
COMPLEX16FrequencySeries **htilde, /**< FD waveform */ COMPLEX16FrequencySeries **htilde, /**< FD waveform */
const REAL8 phic, /**< orbital coalescence phase (rad ) */ const REAL8 phic, /**< orbital coalescence phase (rad ) */
const REAL8 deltaF, /**< frequency resolution (Hz) */ const REAL8 deltaF, /**< frequency resolution (Hz) */
const REAL8 m1_SI, /**< mass of companion 1 (kg) */ const REAL8 m1_SI, /**< mass of companion 1 (kg) */
const REAL8 m2_SI, /**< mass of companion 2 (kg) */ const REAL8 m2_SI, /**< mass of companion 2 (kg) */
const REAL8 chi, /**< dimensionless aligned-spin par am */ const REAL8 chi, /**< dimensionless aligned-spin par am */
const REAL8 lam1, /**< dimensionless deformability of 1 */ const REAL8 lam1, /**< dimensionless deformability of 1 */
const REAL8 lam2, /**< dimensionless deformability of 2 */ const REAL8 lam2, /**< dimensionless deformability of 2 */
const REAL8 fStart, /**< start GW frequency (Hz) */ const REAL8 fStart, /**< start GW frequency (Hz) */
const REAL8 fEnd, /**< highest GW frequency (Hz) of w aveform generation - if 0, end at Schwarzschild ISCO */
const REAL8 r, /**< distance of source (m) */ const REAL8 r, /**< distance of source (m) */
const INT4 phaseO, /**< twice PN phase order */ const INT4 phaseO, /**< twice PN phase order */
const INT4 ampO /**< twice PN amplitude order */ const INT4 ampO /**< twice PN amplitude order */
); );
/** /**
* Compute the chirp time of the \"reduced-spin\" templates, described in * Compute the chirp time of the \"reduced-spin\" templates, described in
* http://arxiv.org/abs/1107.1267. * http://arxiv.org/abs/1107.1267.
*/ */
REAL8 XLALSimInspiralTaylorF2ReducedSpinChirpTime( REAL8 XLALSimInspiralTaylorF2ReducedSpinChirpTime(
const REAL8 fStart, /**< start GW frequency (Hz) */ const REAL8 fStart, /**< start GW frequency (Hz) */
skipping to change at line 1937 skipping to change at line 2265
/** /**
* Compute the Fisher information matrix of "reduced-spin" PN templates in * Compute the Fisher information matrix of "reduced-spin" PN templates in
* theta0, theta3, theta3s, t0, phi0 parameter space, for an SNR=1/sqrt(2) signal. * theta0, theta3, theta3s, t0, phi0 parameter space, for an SNR=1/sqrt(2) signal.
*/ */
gsl_matrix *XLALSimInspiralTaylorF2RedSpinFisherMatrixChirpTimes( gsl_matrix *XLALSimInspiralTaylorF2RedSpinFisherMatrixChirpTimes(
const REAL8 theta0, /**< dimensionless parameter related to the chi rp time by theta0 = 2 pi fLow tau0 */ const REAL8 theta0, /**< dimensionless parameter related to the chi rp time by theta0 = 2 pi fLow tau0 */
const REAL8 theta3, /**< dimensionless parameter related to the chi rp time by theta3 = -2 pi fLow tau3 */ const REAL8 theta3, /**< dimensionless parameter related to the chi rp time by theta3 = -2 pi fLow tau3 */
const REAL8 theta3s, /**< dimensionless parameter related to the chi rp time by theta3s = 2 pi fLow tau3s */ const REAL8 theta3s, /**< dimensionless parameter related to the chi rp time by theta3s = 2 pi fLow tau3s */
const REAL8 fLow, /**< low-frequency cutoff (Hz) */ const REAL8 fLow, /**< low-frequency cutoff (Hz) */
const REAL8 df, /**< frequency resolution of the noise moment v ectors (Hz) */ const REAL8 df, /**< frequency resolution of the noise moment v ectors (Hz) */
REAL8Vector *momI_0, /**< noise moments: momI_0(f) = \int_f0^f (f'/ REAL8Vector *momI_0, /**< noise moments: \f$momI_0(f) = \int_{f0}^f
f0)^{(0-17)/3} df' */ (f'/f0)^{(0-17)/3} df'\f$ */
REAL8Vector *momI_2, /**< noise moments: momI_2(f) = \int_f0^f (f'/ REAL8Vector *momI_2, /**< noise moments: \f$momI_2(f) = \int_{f0}^f
f0)^{(2-17)/3} df' */ (f'/f0)^{(2-17)/3} df'\f$ */
REAL8Vector *momI_3, /**< noise moments: momI_3(f) = \int_f0^f (f'/ REAL8Vector *momI_3, /**< noise moments: \f$momI_3(f) = \int_{f0}^f
f0)^{(3-17)/3} df' */ (f'/f0)^{(3-17)/3} df'\f$ */
REAL8Vector *momI_4, /**< noise moments: momI_4(f) = \int_f0^f (f'/ REAL8Vector *momI_4, /**< noise moments: \f$momI_4(f) = \int_{f0}^f
f0)^{(4-17)/3} df' */ (f'/f0)^{(4-17)/3} df'\f$ */
REAL8Vector *momI_5, /**< noise moments: momI_5(f) = \int_f0^f (f'/ REAL8Vector *momI_5, /**< noise moments: \f$momI_5(f) = \int_{f0}^f
f0)^{(5-17)/3} df' */ (f'/f0)^{(5-17)/3} df'\f$ */
REAL8Vector *momI_6, /**< noise moments: momI_6(f) = \int_f0^f (f'/ REAL8Vector *momI_6, /**< noise moments: \f$momI_6(f) = \int_{f0}^f
f0)^{(6-17)/3} df' */ (f'/f0)^{(6-17)/3} df'\f$ */
REAL8Vector *momI_7, /**< noise moments: momI_7(f) = \int_f0^f (f'/ REAL8Vector *momI_7, /**< noise moments: \f$momI_7(f) = \int_{f0}^f
f0)^{(7-17)/3} df' */ (f'/f0)^{(7-17)/3} df'\f$ */
REAL8Vector *momI_8, /**< noise moments: momI_8(f) = \int_f0^f (f'/ REAL8Vector *momI_8, /**< noise moments: \f$momI_8(f) = \int_{f0}^f
f0)^{(8-17)/3} df' */ (f'/f0)^{(8-17)/3} df'\f$ */
REAL8Vector *momI_9, /**< noise moments: momI_9(f) = \int_f0^f (f'/ REAL8Vector *momI_9, /**< noise moments: \f$momI_9(f) = \int_{f0}^f
f0)^{(9-17)/3} df' */ (f'/f0)^{(9-17)/3} df'\f$ */
REAL8Vector *momI_10, /**< noise moments: momI_10(f) = \int_f0^f (f' REAL8Vector *momI_10, /**< noise moments: \f$momI_10(f) = \int_{f0}^
/f0)^{(10-17)/3} df' */ f (f'/f0)^{(10-17)/3} df'\f$ */
REAL8Vector *momI_11, /**< noise moments: momI_11(f) = \int_f0^f (f' REAL8Vector *momI_11, /**< noise moments: \f$momI_11(f) = \int_{f0}^
/f0)^{(11-17)/3} df' */ f (f'/f0)^{(11-17)/3} df'\f$ */
REAL8Vector *momI_12, /**< noise moments: momI_12(f) = \int_f0^f (f' REAL8Vector *momI_12, /**< noise moments: \f$momI_12(f) = \int_{f0}^
/f0)^{(12-17)/3} df' */ f (f'/f0)^{(12-17)/3} df'\f$ */
REAL8Vector *momI_13, /**< noise moments: momI_13(f) = \int_f0^f (f' REAL8Vector *momI_13, /**< noise moments: \f$momI_13(f) = \int_{f0}^
/f0)^{(13-17)/3} df' */ f (f'/f0)^{(13-17)/3} df'\f$ */
REAL8Vector *momI_14, /**< noise moments: momI_14(f) = \int_f0^f (f' REAL8Vector *momI_14, /**< noise moments: \f$momI_14(f) = \int_{f0}^
/f0)^{(14-17)/3} df' */ f (f'/f0)^{(14-17)/3} df'\f$ */
REAL8Vector *momI_15, /**< noise moments: momI_15(f) = \int_f0^f (f' REAL8Vector *momI_15, /**< noise moments: \f$momI_15(f) = \int_{f0}^
/f0)^{(15-17)/3} df' */ f (f'/f0)^{(15-17)/3} df'\f$ */
REAL8Vector *momI_16, /**< noise moments: momI_16(f) = \int_f0^f (f' REAL8Vector *momI_16, /**< noise moments: \f$momI_16(f) = \int_{f0}^
/f0)^{(16-17)/3} df' */ f (f'/f0)^{(16-17)/3} df'\f$ */
REAL8Vector *momJ_5, /**< noise moments: momJ_5(f) = \int_f0^f (f'/ REAL8Vector *momJ_5, /**< noise moments: \f$momJ_5(f) = \int_{f0}^f
f0)^{(5-17)/3} log(f'/f0) df' */ (f'/f0)^{(5-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_6, /**< noise moments: momJ_6(f) = \int_f0^f (f'/ REAL8Vector *momJ_6, /**< noise moments: \f$momJ_6(f) = \int_{f0}^f
f0)^{(6-17)/3} log(f'/f0) df' */ (f'/f0)^{(6-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_7, /**< noise moments: momJ_7(f) = \int_f0^f (f'/ REAL8Vector *momJ_7, /**< noise moments: \f$momJ_7(f) = \int_{f0}^f
f0)^{(7-17)/3} log(f'/f0) df' */ (f'/f0)^{(7-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_8, /**< noise moments: momJ_8(f) = \int_f0^f (f'/ REAL8Vector *momJ_8, /**< noise moments: \f$momJ_8(f) = \int_{f0}^f
f0)^{(8-17)/3} log(f'/f0) df' */ (f'/f0)^{(8-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_9, /**< noise moments: momJ_9(f) = \int_f0^f (f'/ REAL8Vector *momJ_9, /**< noise moments: \f$momJ_9(f) = \int_{f0}^f
f0)^{(9-17)/3} log(f'/f0) df' */ (f'/f0)^{(9-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_10, /**< noise moments: momJ_10(f) = \int_f0^f (f' REAL8Vector *momJ_10, /**< noise moments: \f$momJ_10(f) = \int_{f0}^
/f0)^{(10-17)/3} log(f'/f0) df' */ f (f'/f0)^{(10-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_11, /**< noise moments: momJ_11(f) = \int_f0^f (f' REAL8Vector *momJ_11, /**< noise moments: \f$momJ_11(f) = \int_{f0}^
/f0)^{(11-17)/3} log(f'/f0) df' */ f (f'/f0)^{(11-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_12, /**< noise moments: momJ_12(f) = \int_f0^f (f' REAL8Vector *momJ_12, /**< noise moments: \f$momJ_12(f) = \int_{f0}^
/f0)^{(12-17)/3} log(f'/f0) df' */ f (f'/f0)^{(12-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_13, /**< noise moments: momJ_13(f) = \int_f0^f (f' REAL8Vector *momJ_13, /**< noise moments: \f$momJ_13(f) = \int_{f0}^
/f0)^{(13-17)/3} log(f'/f0) df' */ f (f'/f0)^{(13-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_14, /**< noise moments: momJ_14(f) = \int_f0^f (f' REAL8Vector *momJ_14, /**< noise moments: \f$momJ_14(f) = \int_{f0}^
/f0)^{(14-17)/3} log(f'/f0) df' */ f (f'/f0)^{(14-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momK_10, /**< noise moments: momK_14(f) = \int_f0^f (f' REAL8Vector *momK_10, /**< noise moments: \f$momK_14(f) = \int_{f0}^
/f0)^{(14-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(14-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_11, /**< noise moments: momK_15(f) = \int_f0^f (f' REAL8Vector *momK_11, /**< noise moments: \f$momK_15(f) = \int_{f0}^
/f0)^{(15-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(15-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_12 /**< noise moments: momK_16(f) = \int_f0^f (f' REAL8Vector *momK_12 /**< noise moments: \f$momK_16(f) = \int_{f0}^
/f0)^{(16-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(16-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
); );
/** /**
* Compute the template-space metric of "reduced-spin" PN templates in * Compute the template-space metric of "reduced-spin" PN templates in
* theta0, theta3, theta3s parameter space. * theta0, theta3, theta3s parameter space.
*/ */
int XLALSimInspiralTaylorF2RedSpinMetricChirpTimes( int XLALSimInspiralTaylorF2RedSpinMetricChirpTimes(
REAL8 *gamma00, /**< template metric coeff. 00 in theta0-theta3 -theta3s*/ REAL8 *gamma00, /**< template metric coeff. 00 in theta0-theta3 -theta3s*/
REAL8 *gamma01, /**< template metric coeff. 01/10 in theta0-the ta3-theta3s */ REAL8 *gamma01, /**< template metric coeff. 01/10 in theta0-the ta3-theta3s */
REAL8 *gamma02, /**< template metric coeff. 02/20 in theta0-the ta3-theta3s */ REAL8 *gamma02, /**< template metric coeff. 02/20 in theta0-the ta3-theta3s */
REAL8 *gamma11, /**< template metric coeff. 11 in theta0-theta3 -theta3s */ REAL8 *gamma11, /**< template metric coeff. 11 in theta0-theta3 -theta3s */
REAL8 *gamma12, /**< template metric coeff. 12/21 in theta0-the ta3-theta3s */ REAL8 *gamma12, /**< template metric coeff. 12/21 in theta0-the ta3-theta3s */
REAL8 *gamma22, /**< template metric coeff. 22 in theta0-theta3 -theta3s */ REAL8 *gamma22, /**< template metric coeff. 22 in theta0-theta3 -theta3s */
const REAL8 theta0, /**< dimensionless parameter related to the chi rp time by theta0 = 2 pi fLow tau0 */ const REAL8 theta0, /**< dimensionless parameter related to the chi rp time by theta0 = 2 pi fLow tau0 */
const REAL8 theta3, /**< dimensionless parameter related to the chi rp time by theta3 = -2 pi fLow tau3 */ const REAL8 theta3, /**< dimensionless parameter related to the chi rp time by theta3 = -2 pi fLow tau3 */
const REAL8 theta3s, /**< dimensionless parameter related to the chi rp time by theta3s = 2 pi fLow tau3s */ const REAL8 theta3s, /**< dimensionless parameter related to the chi rp time by theta3s = 2 pi fLow tau3s */
const REAL8 fLow, /**< low-frequency cutoff (Hz) */ const REAL8 fLow, /**< low-frequency cutoff (Hz) */
const REAL8 df, /**< frequency resolution of the noise moment v ectors (Hz) */ const REAL8 df, /**< frequency resolution of the noise moment v ectors (Hz) */
REAL8Vector *momI_0, /**< noise moments: momI_0(f) = \int_f0^f (f'/ REAL8Vector *momI_0, /**< noise moments: \f$momI_0(f) = \int_{f0}^f
f0)^{(0-17)/3} df' */ (f'/f0)^{(0-17)/3} df'\f$ */
REAL8Vector *momI_2, /**< noise moments: momI_2(f) = \int_f0^f (f'/ REAL8Vector *momI_2, /**< noise moments: \f$momI_2(f) = \int_{f0}^f
f0)^{(2-17)/3} df' */ (f'/f0)^{(2-17)/3} df'\f$ */
REAL8Vector *momI_3, /**< noise moments: momI_3(f) = \int_f0^f (f'/ REAL8Vector *momI_3, /**< noise moments: \f$momI_3(f) = \int_{f0}^f
f0)^{(3-17)/3} df' */ (f'/f0)^{(3-17)/3} df'\f$ */
REAL8Vector *momI_4, /**< noise moments: momI_4(f) = \int_f0^f (f'/ REAL8Vector *momI_4, /**< noise moments: \f$momI_4(f) = \int_{f0}^f
f0)^{(4-17)/3} df' */ (f'/f0)^{(4-17)/3} df'\f$ */
REAL8Vector *momI_5, /**< noise moments: momI_5(f) = \int_f0^f (f'/ REAL8Vector *momI_5, /**< noise moments: \f$momI_5(f) = \int_{f0}^f
f0)^{(5-17)/3} df' */ (f'/f0)^{(5-17)/3} df'\f$ */
REAL8Vector *momI_6, /**< noise moments: momI_6(f) = \int_f0^f (f'/ REAL8Vector *momI_6, /**< noise moments: \f$momI_6(f) = \int_{f0}^f
f0)^{(6-17)/3} df' */ (f'/f0)^{(6-17)/3} df'\f$ */
REAL8Vector *momI_7, /**< noise moments: momI_7(f) = \int_f0^f (f'/ REAL8Vector *momI_7, /**< noise moments: \f$momI_7(f) = \int_{f0}^f
f0)^{(7-17)/3} df' */ (f'/f0)^{(7-17)/3} df'\f$ */
REAL8Vector *momI_8, /**< noise moments: momI_8(f) = \int_f0^f (f'/ REAL8Vector *momI_8, /**< noise moments: \f$momI_8(f) = \int_{f0}^f
f0)^{(8-17)/3} df' */ (f'/f0)^{(8-17)/3} df'\f$ */
REAL8Vector *momI_9, /**< noise moments: momI_9(f) = \int_f0^f (f'/ REAL8Vector *momI_9, /**< noise moments: \f$momI_9(f) = \int_{f0}^f
f0)^{(9-17)/3} df' */ (f'/f0)^{(9-17)/3} df'\f$ */
REAL8Vector *momI_10, /**< noise moments: momI_10(f) = \int_f0^f (f' REAL8Vector *momI_10, /**< noise moments: \f$momI_10(f) = \int_{f0}^
/f0)^{(10-17)/3} df' */ f (f'/f0)^{(10-17)/3} df'\f$ */
REAL8Vector *momI_11, /**< noise moments: momI_11(f) = \int_f0^f (f' REAL8Vector *momI_11, /**< noise moments: \f$momI_11(f) = \int_{f0}^
/f0)^{(11-17)/3} df' */ f (f'/f0)^{(11-17)/3} df'\f$ */
REAL8Vector *momI_12, /**< noise moments: momI_12(f) = \int_f0^f (f' REAL8Vector *momI_12, /**< noise moments: \f$momI_12(f) = \int_{f0}^
/f0)^{(12-17)/3} df' */ f (f'/f0)^{(12-17)/3} df'\f$ */
REAL8Vector *momI_13, /**< noise moments: momI_13(f) = \int_f0^f (f' REAL8Vector *momI_13, /**< noise moments: \f$momI_13(f) = \int_{f0}^
/f0)^{(13-17)/3} df' */ f (f'/f0)^{(13-17)/3} df'\f$ */
REAL8Vector *momI_14, /**< noise moments: momI_14(f) = \int_f0^f (f' REAL8Vector *momI_14, /**< noise moments: \f$momI_14(f) = \int_{f0}^
/f0)^{(14-17)/3} df' */ f (f'/f0)^{(14-17)/3} df'\f$ */
REAL8Vector *momI_15, /**< noise moments: momI_15(f) = \int_f0^f (f' REAL8Vector *momI_15, /**< noise moments: \f$momI_15(f) = \int_{f0}^
/f0)^{(15-17)/3} df' */ f (f'/f0)^{(15-17)/3} df'\f$ */
REAL8Vector *momI_16, /**< noise moments: momI_16(f) = \int_f0^f (f' REAL8Vector *momI_16, /**< noise moments: \f$momI_16(f) = \int_{f0}^
/f0)^{(16-17)/3} df' */ f (f'/f0)^{(16-17)/3} df'\f$ */
REAL8Vector *momJ_5, /**< noise moments: momJ_5(f) = \int_f0^f (f'/ REAL8Vector *momJ_5, /**< noise moments: \f$momJ_5(f) = \int_{f0}^f
f0)^{(5-17)/3} log(f'/f0) df' */ (f'/f0)^{(5-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_6, /**< noise moments: momJ_6(f) = \int_f0^f (f'/ REAL8Vector *momJ_6, /**< noise moments: \f$momJ_6(f) = \int_{f0}^f
f0)^{(6-17)/3} log(f'/f0) df' */ (f'/f0)^{(6-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_7, /**< noise moments: momJ_7(f) = \int_f0^f (f'/ REAL8Vector *momJ_7, /**< noise moments: \f$momJ_7(f) = \int_{f0}^f
f0)^{(7-17)/3} log(f'/f0) df' */ (f'/f0)^{(7-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_8, /**< noise moments: momJ_8(f) = \int_f0^f (f'/ REAL8Vector *momJ_8, /**< noise moments: \f$momJ_8(f) = \int_{f0}^f
f0)^{(8-17)/3} log(f'/f0) df' */ (f'/f0)^{(8-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_9, /**< noise moments: momJ_9(f) = \int_f0^f (f'/ REAL8Vector *momJ_9, /**< noise moments: \f$momJ_9(f) = \int_{f0}^f
f0)^{(9-17)/3} log(f'/f0) df' */ (f'/f0)^{(9-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_10, /**< noise moments: momJ_10(f) = \int_f0^f (f' REAL8Vector *momJ_10, /**< noise moments: \f$momJ_10(f) = \int_{f0}^
/f0)^{(10-17)/3} log(f'/f0) df' */ f (f'/f0)^{(10-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_11, /**< noise moments: momJ_11(f) = \int_f0^f (f' REAL8Vector *momJ_11, /**< noise moments: \f$momJ_11(f) = \int_{f0}^
/f0)^{(11-17)/3} log(f'/f0) df' */ f (f'/f0)^{(11-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_12, /**< noise moments: momJ_12(f) = \int_f0^f (f' REAL8Vector *momJ_12, /**< noise moments: \f$momJ_12(f) = \int_{f0}^
/f0)^{(12-17)/3} log(f'/f0) df' */ f (f'/f0)^{(12-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_13, /**< noise moments: momJ_13(f) = \int_f0^f (f' REAL8Vector *momJ_13, /**< noise moments: \f$momJ_13(f) = \int_{f0}^
/f0)^{(13-17)/3} log(f'/f0) df' */ f (f'/f0)^{(13-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_14, /**< noise moments: momJ_14(f) = \int_f0^f (f' REAL8Vector *momJ_14, /**< noise moments: \f$momJ_14(f) = \int_{f0}^
/f0)^{(14-17)/3} log(f'/f0) df' */ f (f'/f0)^{(14-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momK_10, /**< noise moments: momK_14(f) = \int_f0^f (f' REAL8Vector *momK_10, /**< noise moments: \f$momK_14(f) = \int_{f0}^
/f0)^{(14-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(14-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_11, /**< noise moments: momK_15(f) = \int_f0^f (f' REAL8Vector *momK_11, /**< noise moments: \f$momK_15(f) = \int_{f0}^
/f0)^{(15-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(15-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_12 /**< noise moments: momK_16(f) = \int_f0^f (f' REAL8Vector *momK_12 /**< noise moments: \f$momK_16(f) = \int_{f0}^
/f0)^{(16-17)/3} log(f'/f0) log(f'/f0) df' */ f (f'/f0)^{(16-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
); );
int XLALSimInspiralTaylorF2RedSpinComputeNoiseMoments( int XLALSimInspiralTaylorF2RedSpinComputeNoiseMoments(
REAL8Vector *momI_0, /**< noise moments: momI_0(f) = \int_f0^f (f'/f REAL8Vector *momI_0, /**< noise moments: \f$momI_0(f) = \int_{f0}^f
0)^{(0-17)/3} df' */ (f'/f0)^{(0-17)/3} df'\f$ */
REAL8Vector *momI_2, /**< noise moments: momI_2(f) = \int_f0^f (f'/f REAL8Vector *momI_2, /**< noise moments: \f$momI_2(f) = \int_{f0}^f
0)^{(2-17)/3} df' */ (f'/f0)^{(2-17)/3} df'\f$ */
REAL8Vector *momI_3, /**< noise moments: momI_3(f) = \int_f0^f (f'/f REAL8Vector *momI_3, /**< noise moments: \f$momI_3(f) = \int_{f0}^f
0)^{(3-17)/3} df' */ (f'/f0)^{(3-17)/3} df'\f$ */
REAL8Vector *momI_4, /**< noise moments: momI_4(f) = \int_f0^f (f'/f REAL8Vector *momI_4, /**< noise moments: \f$momI_4(f) = \int_{f0}^f
0)^{(4-17)/3} df' */ (f'/f0)^{(4-17)/3} df'\f$ */
REAL8Vector *momI_5, /**< noise moments: momI_5(f) = \int_f0^f (f'/f REAL8Vector *momI_5, /**< noise moments: \f$momI_5(f) = \int_{f0}^f
0)^{(5-17)/3} df' */ (f'/f0)^{(5-17)/3} df'\f$ */
REAL8Vector *momI_6, /**< noise moments: momI_6(f) = \int_f0^f (f'/f REAL8Vector *momI_6, /**< noise moments: \f$momI_6(f) = \int_{f0}^f
0)^{(6-17)/3} df' */ (f'/f0)^{(6-17)/3} df'\f$ */
REAL8Vector *momI_7, /**< noise moments: momI_7(f) = \int_f0^f (f'/f REAL8Vector *momI_7, /**< noise moments: \f$momI_7(f) = \int_{f0}^f
0)^{(7-17)/3} df' */ (f'/f0)^{(7-17)/3} df'\f$ */
REAL8Vector *momI_8, /**< noise moments: momI_8(f) = \int_f0^f (f'/f REAL8Vector *momI_8, /**< noise moments: \f$momI_8(f) = \int_{f0}^f
0)^{(8-17)/3} df' */ (f'/f0)^{(8-17)/3} df'\f$ */
REAL8Vector *momI_9, /**< noise moments: momI_9(f) = \int_f0^f (f'/f REAL8Vector *momI_9, /**< noise moments: \f$momI_9(f) = \int_{f0}^f
0)^{(9-17)/3} df' */ (f'/f0)^{(9-17)/3} df'\f$ */
REAL8Vector *momI_10, /**< noise moments: momI_10(f) = \int_f0^f (f'/ REAL8Vector *momI_10, /**< noise moments: \f$momI_10(f) = \int_{f0}^f
f0)^{(10-17)/3} df' */ (f'/f0)^{(10-17)/3} df'\f$ */
REAL8Vector *momI_11, /**< noise moments: momI_11(f) = \int_f0^f (f'/ REAL8Vector *momI_11, /**< noise moments: \f$momI_11(f) = \int_{f0}^f
f0)^{(11-17)/3} df' */ (f'/f0)^{(11-17)/3} df'\f$ */
REAL8Vector *momI_12, /**< noise moments: momI_12(f) = \int_f0^f (f'/ REAL8Vector *momI_12, /**< noise moments: \f$momI_12(f) = \int_{f0}^f
f0)^{(12-17)/3} df' */ (f'/f0)^{(12-17)/3} df'\f$ */
REAL8Vector *momI_13, /**< noise moments: momI_13(f) = \int_f0^f (f'/ REAL8Vector *momI_13, /**< noise moments: \f$momI_13(f) = \int_{f0}^f
f0)^{(13-17)/3} df' */ (f'/f0)^{(13-17)/3} df'\f$ */
REAL8Vector *momI_14, /**< noise moments: momI_14(f) = \int_f0^f (f'/ REAL8Vector *momI_14, /**< noise moments: \f$momI_14(f) = \int_{f0}^f
f0)^{(14-17)/3} df' */ (f'/f0)^{(14-17)/3} df'\f$ */
REAL8Vector *momI_15, /**< noise moments: momI_15(f) = \int_f0^f (f'/ REAL8Vector *momI_15, /**< noise moments: \f$momI_15(f) = \int_{f0}^f
f0)^{(15-17)/3} df' */ (f'/f0)^{(15-17)/3} df'\f$ */
REAL8Vector *momI_16, /**< noise moments: momI_16(f) = \int_f0^f (f'/ REAL8Vector *momI_16, /**< noise moments: \f$momI_16(f) = \int_{f0}^f
f0)^{(16-17)/3} df' */ (f'/f0)^{(16-17)/3} df'\f$ */
REAL8Vector *momJ_5, /**< noise moments: momJ_5(f) = \int_f0^f (f'/f REAL8Vector *momJ_5, /**< noise moments: \f$momJ_5(f) = \int_{f0}^f
0)^{(5-17)/3} log(f'/f0) df' */ (f'/f0)^{(5-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_6, /**< noise moments: momJ_6(f) = \int_f0^f (f'/f REAL8Vector *momJ_6, /**< noise moments: \f$momJ_6(f) = \int_{f0}^f
0)^{(6-17)/3} log(f'/f0) df' */ (f'/f0)^{(6-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_7, /**< noise moments: momJ_7(f) = \int_f0^f (f'/f REAL8Vector *momJ_7, /**< noise moments: \f$momJ_7(f) = \int_{f0}^f
0)^{(7-17)/3} log(f'/f0) df' */ (f'/f0)^{(7-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_8, /**< noise moments: momJ_8(f) = \int_f0^f (f'/f REAL8Vector *momJ_8, /**< noise moments: \f$momJ_8(f) = \int_{f0}^f
0)^{(8-17)/3} log(f'/f0) df' */ (f'/f0)^{(8-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_9, /**< noise moments: momJ_9(f) = \int_f0^f (f'/f REAL8Vector *momJ_9, /**< noise moments: \f$momJ_9(f) = \int_{f0}^f
0)^{(9-17)/3} log(f'/f0) df' */ (f'/f0)^{(9-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_10, /**< noise moments: momJ_10(f) = \int_f0^f (f'/ REAL8Vector *momJ_10, /**< noise moments: \f$momJ_10(f) = \int_{f0}^f
f0)^{(10-17)/3} log(f'/f0) df' */ (f'/f0)^{(10-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_11, /**< noise moments: momJ_11(f) = \int_f0^f (f'/ REAL8Vector *momJ_11, /**< noise moments: \f$momJ_11(f) = \int_{f0}^f
f0)^{(11-17)/3} log(f'/f0) df' */ (f'/f0)^{(11-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_12, /**< noise moments: momJ_12(f) = \int_f0^f (f'/ REAL8Vector *momJ_12, /**< noise moments: \f$momJ_12(f) = \int_{f0}^f
f0)^{(12-17)/3} log(f'/f0) df' */ (f'/f0)^{(12-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_13, /**< noise moments: momJ_13(f) = \int_f0^f (f'/ REAL8Vector *momJ_13, /**< noise moments: \f$momJ_13(f) = \int_{f0}^f
f0)^{(13-17)/3} log(f'/f0) df' */ (f'/f0)^{(13-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momJ_14, /**< noise moments: momJ_14(f) = \int_f0^f (f'/ REAL8Vector *momJ_14, /**< noise moments: \f$momJ_14(f) = \int_{f0}^f
f0)^{(14-17)/3} log(f'/f0) df' */ (f'/f0)^{(14-17)/3} log(f'/f0) df'\f$ */
REAL8Vector *momK_10, /**< noise moments: momK_10(f) = \int_f0^f (f'/ REAL8Vector *momK_10, /**< noise moments: \f$momK_10(f) = \int_{f0}^f
f0)^{(10-17)/3} log(f'/f0) log(f'/f0) df' */ (f'/f0)^{(10-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_11, /**< noise moments: momK_11(f) = \int_f0^f (f'/ REAL8Vector *momK_11, /**< noise moments: \f$momK_11(f) = \int_{f0}^f
f0)^{(11-17)/3} log(f'/f0) log(f'/f0) df' */ (f'/f0)^{(11-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *momK_12, /**< noise moments: momK_12(f) = \int_f0^f (f'/ REAL8Vector *momK_12, /**< noise moments: \f$momK_12(f) = \int_{f0}^f
f0)^{(12-17)/3} log(f'/f0) log(f'/f0) df' */ (f'/f0)^{(12-17)/3} log(f'/f0) log(f'/f0) df'\f$ */
REAL8Vector *Sh, /**< one sided PSD of the detector noise: Sh(f ) for f = [fLow, fNyq] */ REAL8Vector *Sh, /**< one sided PSD of the detector noise: Sh(f ) for f = [fLow, fNyq] */
REAL8 fLow, /**< low frequency cutoff (Hz) */ REAL8 fLow, /**< low frequency cutoff (Hz) */
REAL8 df REAL8 df
); );
/* compute theta0, theta3, theta3s from mc, eta, chi */ /* compute theta0, theta3, theta3s from mc, eta, chi */
void XLALSimInspiralTaylorF2RedSpinChirpTimesFromMchirpEtaChi( void XLALSimInspiralTaylorF2RedSpinChirpTimesFromMchirpEtaChi(
double *theta0, /**< dimensionless parameter related to the chirp time by theta0 = 2 pi fLow tau0 */ double *theta0, /**< dimensionless parameter related to the chirp time by theta0 = 2 pi fLow tau0 */
double *theta3, /**< dimensionless parameter related to the chirp time by theta3 = -2 pi fLow tau3 */ double *theta3, /**< dimensionless parameter related to the chirp time by theta3 = -2 pi fLow tau3 */
double *theta3s,/**< dimensionless parameter related to the chirp time by theta3s = 2 pi fLow tau3s */ double *theta3s,/**< dimensionless parameter related to the chirp time by theta3s = 2 pi fLow tau3s */
 End of changes. 55 change blocks. 
826 lines changed or deleted 1279 lines changed or added


 LALSimInspiralPrecess.h   LALSimInspiralPrecess.h 
/* /*
* Copyright (C) 2012 Chris Pankow * Copyright (C) 2012 Chris Pankow, R. O'Shaughnessy
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
skipping to change at line 30 skipping to change at line 30
/** /**
* *
* \author Chris Pankow * \author Chris Pankow
* *
* \file * \file
* *
* \brief Functions to take an arbitrary waveform time series and impose th e * \brief Functions to take an arbitrary waveform time series and impose th e
* effects of causing the viewing angle to precess about a cone of L around J. * effects of causing the viewing angle to precess about a cone of L around J.
* The cone currently has a constant opening angle. * The cone currently has a constant opening angle.
* *
* */
/* Considerations...
* 1. Instead of h_lm, have the user give the mode decomposition for a spec
ific
* l, and provide that l to the function. Then everything proceeds as befor
e
* with the assumption that the double pointer provided has 2l+1 values to
* operate on.
*
* 2. Don't have full time series for alpha, beta, and gamma unless we have
a
* specific need for it. It's wasteful of memory.
*/ */
#include <lal/Units.h> #include <lal/Units.h>
#include <lal/Date.h> #include <lal/Date.h>
#include <lal/TimeSeries.h> #include <lal/TimeSeries.h>
#include <lal/LALSimInspiral.h> #include <lal/LALSimInspiral.h>
#include <lal/LALSimIMR.h> #include <lal/LALSimIMR.h>
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/SphericalHarmonics.h> #include <lal/SphericalHarmonics.h>
/** #include <gsl/gsl_math.h>
* Takes in the l=2, abs(m)=2 decomposed modes as a strain time series and #include <gsl/gsl_eigen.h>
* imposes the effect of a constant cone of precession. This is accomplishe
d int XLALSimInspiralPrecessionRotateModes(
* by taking the axis of the binary rotational plane and rotating the Y_lm SphHarmTimeSeries* h_lm,
* such that it appears to "precess" around a fixed J direction. REAL8TimeSeries* alpha,
* Note that h_2_2 and h_22 are modified in place. REAL8TimeSeries* beta,
* REAL8TimeSeries* gam
* Future revisions will change the first two pointers to this: );
* COMPLEX16TimeSeries** h_lm
*
* and add
* unsigned int l
*
* Thus the input h_lm will be considered a list of pointers to the h_lm fo
r a
* given l and the appropriate action will be taken for *all* of the submod
es.
*/
int XLALSimInspiralConstantPrecessionConeWaveformModes( int XLALSimInspiralConstantPrecessionConeWaveformModes(
COMPLEX16TimeSeries* h_2_2, /**< (2,-2) mode SphHarmTimeSeries** h_lm_tmp,
, modified in place */ double precess_freq,
COMPLEX16TimeSeries* h_22, /**< (2,2) mode, double a,
modified in place */ double phi_precess,
double precess_freq, /**< Precession frequen double alpha_0,
cy in Hz */ double beta_0
double a, /**< Opening angle of precession c
one in rads */
double phi_precess, /**< initial phase in co
ne of L around J */
double alpha_0, /**< azimuth btwn center of
cone and line of sight */
double beta_0 /**< zenith btwn center of con
e and line of sight */
); );
/**
* Takes in the l=2, abs(m)=2 decomposed modes as a strain time series and
* imposes the effect of a constant cone of precession. The result is retur
ned
* in the physical waveforms hp, hx, after they have been resummed from the
* modified h_22 waveforms.
*
* NOTE: the modes h_2_2 and h_22 will be modified in place
*/
int XLALSimInspiralConstantPrecessionConeWaveform( int XLALSimInspiralConstantPrecessionConeWaveform(
REAL8TimeSeries* hp, /**< Output precessing REAL8TimeSeries** hp,
plus polarization */ REAL8TimeSeries** hx,
REAL8TimeSeries* hx, /**< Output precessing SphHarmTimeSeries* h_lm,
cross polarization*/ double precess_freq,
COMPLEX16TimeSeries* h_2_2, /**< Input non-p double a,
recessing (2,-2) mode - modified in place */ double phi_precess,
COMPLEX16TimeSeries* h_22, /**< Input non-pr double alpha_0,
ecessing (2,2) mode - modified in place */ double beta_0
double precess_freq, /**< Precession frequen );
cy in Hz */
double a, /**< Opening angle of precession c int XLALSimInspiralOrientationMatrixForL2(
one in rads */ REAL8 mtx[3][3],
double phi_precess, /**< initial phase in co COMPLEX16 h22,
ne of L around J */ COMPLEX16 h2m2,
double alpha_0, /**< azimuth btwn center of COMPLEX16 h21,
cone and line of sight */ COMPLEX16 h2m1,
double beta_0 /**< zenith btwn center of con COMPLEX16 h20
e and line of sight */ );
int XLALSimInspiralOrientationMatrixDirection(
REAL8 vec[3],
REAL8 mtx[3][3]
); );
 End of changes. 6 change blocks. 
74 lines changed or deleted 39 lines changed or added


 LALSimInspiralTestGRParams.h   LALSimInspiralTestGRParams.h 
skipping to change at line 51 skipping to change at line 51
typedef struct tagLALSimInspiralTestGRParam typedef struct tagLALSimInspiralTestGRParam
{ {
struct tagLALSimInspiralTestGRParamData *data; /**< Current variable */ struct tagLALSimInspiralTestGRParamData *data; /**< Current variable */
struct tagLALSimInspiralTestGRParam *next; /**< The next variable in li nked list */ struct tagLALSimInspiralTestGRParam *next; /**< The next variable in li nked list */
} LALSimInspiralTestGRParam; } LALSimInspiralTestGRParam;
/** /**
* Function that creates the head node of the test GR parameters linked lis t. * Function that creates the head node of the test GR parameters linked lis t.
* It is initialized with a single parameter with given name and value * It is initialized with a single parameter with given name and value
*/ */
#ifdef SWIG // SWIG interface directives
SWIGLAL(INOUT_STRUCTS(LALSimInspiralTestGRParam**, parameter));
#endif
LALSimInspiralTestGRParam *XLALSimInspiralCreateTestGRParam( LALSimInspiralTestGRParam *XLALSimInspiralCreateTestGRParam(
const char *name, /**< Name of first parameter in new linked list * / const char *name, /**< Name of first parameter in new linked list * /
double value /**< Value of first parameter in new linked list */ double value /**< Value of first parameter in new linked list */
); );
/** /**
* Function that adds a prameter to the test GR parameters linked list. If the * Function that adds a prameter to the test GR parameters linked list. If the
* parameter already exists, it throws an error. * parameter already exists, it throws an error.
*/ */
int XLALSimInspiralAddTestGRParam( int XLALSimInspiralAddTestGRParam(
 End of changes. 1 change blocks. 
0 lines changed or deleted 5 lines changed or added


 LALSimInspiralWaveformFlags.h   LALSimInspiralWaveformFlags.h 
skipping to change at line 27 skipping to change at line 27
*/ */
#ifndef _LALSIMINSPIRALWAVEFORMFLAGS_H #ifndef _LALSIMINSPIRALWAVEFORMFLAGS_H
#define _LALSIMINSPIRALWAVEFORMFLAGS_H #define _LALSIMINSPIRALWAVEFORMFLAGS_H
#include <stdbool.h> #include <stdbool.h>
#include <lal/LALMalloc.h> #include <lal/LALMalloc.h>
#include <lal/LALError.h> #include <lal/LALError.h>
/** Default values for all enumerated flags */ /** Default values for all enumerated flags */
#define LAL_SIM_INSPIRAL_SPIN_ORDER_DEFAULT LAL_SIM_INSPIRAL_SPIN_ORDER_ALL
#define LAL_SIM_INSPIRAL_TIDAL_ORDER_DEFAULT LAL_SIM_INSPIRAL_TIDAL_ORDER_A
LL
#define LAL_SIM_INSPIRAL_INTERACTION_DEFAULT LAL_SIM_INSPIRAL_INTERACTION_A LL #define LAL_SIM_INSPIRAL_INTERACTION_DEFAULT LAL_SIM_INSPIRAL_INTERACTION_A LL
#define LAL_SIM_INSPIRAL_FRAME_AXIS_DEFAULT LAL_SIM_INSPIRAL_FRAME_AXIS_VIE W #define LAL_SIM_INSPIRAL_FRAME_AXIS_DEFAULT LAL_SIM_INSPIRAL_FRAME_AXIS_VIE W
#define LAL_SIM_INSPIRAL_MODES_CHOICE_DEFAULT LAL_SIM_INSPIRAL_MODES_CHOICE _RESTRICTED #define LAL_SIM_INSPIRAL_MODES_CHOICE_DEFAULT LAL_SIM_INSPIRAL_MODES_CHOICE _RESTRICTED
/** /**
* Enumeration of allowed PN orders of spin effects. All effects up to and
* including the given order will be included in waveforms.
* They can be specified by integers equal to twice the PN order,
* so e.g. LAL_SIM_INSPIRAL_SPIN_ORDER_25PN = 5
* In addition, LAL_SIM_INSPIRAL_SPIN_ORDER_ALL = -1
* is a flag to include all available spin effects
*/
typedef enum {
LAL_SIM_INSPIRAL_SPIN_ORDER_0PN = 0,
LAL_SIM_INSPIRAL_SPIN_ORDER_05PN = 1,
LAL_SIM_INSPIRAL_SPIN_ORDER_1PN = 2,
LAL_SIM_INSPIRAL_SPIN_ORDER_15PN = 3,
LAL_SIM_INSPIRAL_SPIN_ORDER_2PN = 4,
LAL_SIM_INSPIRAL_SPIN_ORDER_25PN = 5,
LAL_SIM_INSPIRAL_SPIN_ORDER_3PN = 6,
LAL_SIM_INSPIRAL_SPIN_ORDER_35PN = 7,
LAL_SIM_INSPIRAL_SPIN_ORDER_ALL = -1
} LALSimInspiralSpinOrder;
/**
* Enumeration of allowed PN orders of tidal effects. All effects up to and
* including the given order will be included in waveforms.
* Numerically, they are equal to twice the PN order, so e.g.
* LAL_SIM_INSPIRAL_TIDAL_ORDER_5PN = 10
* In addition, LAL_SIM_INSPIRAL_TIDAL_ORDER_ALL = -1
* is a flag to include all available tidal effects
*/
typedef enum {
LAL_SIM_INSPIRAL_TIDAL_ORDER_0PN = 0,
LAL_SIM_INSPIRAL_TIDAL_ORDER_5PN = 10,
LAL_SIM_INSPIRAL_TIDAL_ORDER_6PN = 12,
LAL_SIM_INSPIRAL_TIDAL_ORDER_ALL = -1
} LALSimInspiralTidalOrder;
/**
* Enumeration to specify which interaction will be used in the waveform * Enumeration to specify which interaction will be used in the waveform
* generation. Their combination also can be used by the bitwise or. * generation. Their combination also can be used by the bitwise or.
*/ */
typedef enum { typedef enum {
LAL_SIM_INSPIRAL_INTERACTION_NONE = 0, /**< No spin, tidal or other int eractions */ LAL_SIM_INSPIRAL_INTERACTION_NONE = 0, /**< No spin, tidal or other int eractions */
LAL_SIM_INSPIRAL_INTERACTION_SPIN_ORBIT_15PN = 1, /**< Leading order sp in-orbit interaction */ LAL_SIM_INSPIRAL_INTERACTION_SPIN_ORBIT_15PN = 1, /**< Leading order sp in-orbit interaction */
LAL_SIM_INSPIRAL_INTERACTION_SPIN_SPIN_2PN = 1 << 1, /**< Spin-spin in teraction */ LAL_SIM_INSPIRAL_INTERACTION_SPIN_SPIN_2PN = 1 << 1, /**< Spin-spin in teraction */
LAL_SIM_INSPIRAL_INTERACTION_SPIN_SPIN_SELF_2PN = 1 << 2, /**< Spi n-spin-self interaction */ LAL_SIM_INSPIRAL_INTERACTION_SPIN_SPIN_SELF_2PN = 1 << 2, /**< Spi n-spin-self interaction */
LAL_SIM_INSPIRAL_INTERACTION_QUAD_MONO_2PN = 1 << 3, /**< Quadrupol e-monopole interaction */ LAL_SIM_INSPIRAL_INTERACTION_QUAD_MONO_2PN = 1 << 3, /**< Quadrupol e-monopole interaction */
LAL_SIM_INSPIRAL_INTERACTION_SPIN_ORBIT_25PN = 1 << 4, /**< Next-t o-leading-order spin-orbit interaction */ LAL_SIM_INSPIRAL_INTERACTION_SPIN_ORBIT_25PN = 1 << 4, /**< Next-t o-leading-order spin-orbit interaction */
skipping to change at line 68 skipping to change at line 105
/** /**
* Enumerator for choosing which modes to include in IMR models. * Enumerator for choosing which modes to include in IMR models.
* *
* 'ALL' means to use all modes available to that model. * 'ALL' means to use all modes available to that model.
* *
* 'RESTRICTED' means only the (2,2) mode for non-precessing models * 'RESTRICTED' means only the (2,2) mode for non-precessing models
* or only the set of l=2 modes for precessing models. * or only the set of l=2 modes for precessing models.
*/ */
typedef enum { typedef enum {
LAL_SIM_INSPIRAL_MODES_CHOICE_RESTRICTED, /**< Include only (2,2) or l= LAL_SIM_INSPIRAL_MODES_CHOICE_DEFAULT = 1, /**< In
2 modes */ clude only (2,2) or l=2 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_ALL /**< Include all available (l,m) mode LAL_SIM_INSPIRAL_MODES_CHOICE_3L = 1<<1, /**< In
s */ lude only l=3 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND3L = (1<<2) - 1, /**< In
lude l=2,3 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_4L = 1<<2, /**< In
lude only l=4 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND3AND4L = (1<<3) - 1, /**< In
clude l=2,3,4 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND4L = (1<<3) - 1 - (1<<1), /**< In
clude l=2,4 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_3AND4L = (1<<3) - (1<<1), /**< In
clude l=3,4 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_5L = 1<<3, /**< In
lude only l=5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND5L = (1<<4) -1, /**< In
lude l=2,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_3AND5L = (1<<4) - (1<<1), /**< In
lude l=3,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_4AND5L = (1<<4), /**< In
lude l=4,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND3AND5L = (1<<4) - 1 -(1<<2), /**< In
lude l=2,3,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_2AND4AND5L = (1<<4) - 1 -(1<<1), /**< In
lude l=2,4,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_3AND4AND5L = (1<<4) - (1<<1), /**< In
lude l=3,4,5 modes */
LAL_SIM_INSPIRAL_MODES_CHOICE_ALL = (1<<4) - 1, /**< In
clude l=2,3,4,5 modes */
} LALSimInspiralModesChoice; } LALSimInspiralModesChoice;
/** /**
* Struct containing several enumerated flags that control specialized beha vior * Struct containing several enumerated flags that control specialized beha vior
* for some waveform approximants. * for some waveform approximants.
* *
* Users: Access this struct only through the Create/Destroy/Set/Get/IsDefa ult * Users: Access this struct only through the Create/Destroy/Set/Get/IsDefa ult
* functions declared in this file. * functions declared in this file.
* *
* Developers: Do not add anything but enumerated flags to this struct. Avo id * Developers: Do not add anything but enumerated flags to this struct. Avo id
skipping to change at line 108 skipping to change at line 158
/** /**
* Returns true if waveFlags is non-NULL and all of its fields have default * Returns true if waveFlags is non-NULL and all of its fields have default
* value; returns false otherwise. * value; returns false otherwise.
*/ */
bool XLALSimInspiralWaveformFlagsIsDefault( bool XLALSimInspiralWaveformFlagsIsDefault(
LALSimInspiralWaveformFlags *waveFlags LALSimInspiralWaveformFlags *waveFlags
); );
/** /**
* Set the LALSimInspiralInteraction within a LALSimInspiralWaveformFlags s * Set the LALSimInspiralSpinOrder within a LALSimInspiralWaveformFlags str
truct uct
*/
void XLALSimInspiralSetSpinOrder(
LALSimInspiralWaveformFlags *waveFlags, /**< Struct whose flag will
be set */
LALSimInspiralSpinOrder spinO /**< value to set flag to */
);
/**
* Get the LALSimInspiralSpinOrder within a LALSimInspiralWaveformFlags str
uct,
* or LAL_SIM_INSPIRAL_SPIN_ORDER_DEFAULT if waveFlags is NULL
*/
LALSimInspiralSpinOrder XLALSimInspiralGetSpinOrder(
LALSimInspiralWaveformFlags *waveFlags
);
/**
* Returns true if LALSimInspiralSpinOrder has default value
* returns false otherwise
*/ */
void XLALSimInspiralSetInteraction( bool XLALSimInspiralSpinOrderIsDefault(
LALSimInspiralSpinOrder spinO
);
/**
* Set the LALSimInspiralTidalOrder within a LALSimInspiralWaveformFlags st
ruct
*/
void XLALSimInspiralSetTidalOrder(
LALSimInspiralWaveformFlags *waveFlags, /**< Struct whose flag will be set */ LALSimInspiralWaveformFlags *waveFlags, /**< Struct whose flag will be set */
LALSimInspiralInteraction interactionChoice /**< value to set flag
to */ LALSimInspiralTidalOrder tideO /**< value to set flag to */
); );
/** /**
* Get the LALSimInspiralInteraction within a LALSimInspiralWaveformFlags s * Get the LALSimInspiralTidalOrder within a LALSimInspiralWaveformFlags st
truct, ruct,
* or LAL_SIM_INSPIRAL_INTERACTION_DEFAULT if waveFlags is NULL * or LAL_SIM_INSPIRAL_TIDAL_ORDER_DEFAULT if waveFlags is NULL
*/ */
LALSimInspiralInteraction XLALSimInspiralGetInteraction( LALSimInspiralTidalOrder XLALSimInspiralGetTidalOrder(
LALSimInspiralWaveformFlags *waveFlags LALSimInspiralWaveformFlags *waveFlags
); );
/** /**
* Returns true if LALSimInspiralInteraction has default value * Returns true if LALSimInspiralTidalOrder has default value
* reutrns false otherwise * returns false otherwise
*/ */
bool XLALSimInspiralInteractionIsDefault( bool XLALSimInspiralTidalOrderIsDefault(
LALSimInspiralInteraction interactionChoice LALSimInspiralTidalOrder tideO
); );
/** /**
* Set the LALSimInspiralFrameAxis within a LALSimInspiralWaveformFlags str uct * Set the LALSimInspiralFrameAxis within a LALSimInspiralWaveformFlags str uct
*/ */
void XLALSimInspiralSetFrameAxis( void XLALSimInspiralSetFrameAxis(
LALSimInspiralWaveformFlags *waveFlags, /**< Struct whose flag will be set */ LALSimInspiralWaveformFlags *waveFlags, /**< Struct whose flag will be set */
LALSimInspiralFrameAxis axisChoice /**< value to set flag to */ LALSimInspiralFrameAxis axisChoice /**< value to set flag to */
); );
 End of changes. 10 change blocks. 
17 lines changed or deleted 109 lines changed or added


 LALSimNoise.h   LALSimNoise.h 
skipping to change at line 269 skipping to change at line 269
double XLALSimNoisePSDVirgo(double f /**< frequency (Hz) */); double XLALSimNoisePSDVirgo(double f /**< frequency (Hz) */);
/** Provides a GEO noise power spectrum based on that from Table IV of /** Provides a GEO noise power spectrum based on that from Table IV of
* \ref dis2001. * \ref dis2001.
* *
* The comes from the deprecated function LALGEOPsd in the lal noisemodels * The comes from the deprecated function LALGEOPsd in the lal noisemodels
* package. * package.
*/ */
double XLALSimNoisePSDGEO(double f /**< frequency (Hz) */); double XLALSimNoisePSDGEO(double f /**< frequency (Hz) */);
/** Provides a GEO-HF noise power spectrum based on a fit to Figure 6
* from \ref Grote2010.
*
* The fit is good between 50Hz to 8kHz and errors between the analytic
* fit given and the <a href="https://intranet.aei.uni-hannover.de/geo600/g
eohflogbook.nsf/7e8722dffa24dea0c1256de900406c84/4837a612ac990060c12575ce00
4e70fd?OpenDocument">estimated curve</a> are less than 1%.
*/
double XLALSimNoisePSDGEOHF(double f /**< frequency (Hz) */);
/** Provides a TAMA300 noise power spectrum based on that from Table IV of /** Provides a TAMA300 noise power spectrum based on that from Table IV of
* \ref dis2001. * \ref dis2001.
* *
* The comes from the deprecated function LALTAMAPsd in the lal noisemodels * The comes from the deprecated function LALTAMAPsd in the lal noisemodels
* package. * package.
*/ */
double XLALSimNoisePSDTAMA(double f /**< frequency (Hz) */); double XLALSimNoisePSDTAMA(double f /**< frequency (Hz) */);
/* /*
* *
skipping to change at line 468 skipping to change at line 476
/** /**
* Evaluates a power spectral density function, psdfunc, at the frequencies required * Evaluates a power spectral density function, psdfunc, at the frequencies required
* to populate the frequency series psd, with a low frequency cutoff flow. * to populate the frequency series psd, with a low frequency cutoff flow.
*/ */
int XLALSimNoisePSD( int XLALSimNoisePSD(
REAL8FrequencySeries *psd, /**< frequency series to be computed */ REAL8FrequencySeries *psd, /**< frequency series to be computed */
double flow, /**< low frequency cutoff (Hz) */ double flow, /**< low frequency cutoff (Hz) */
double (*psdfunc)(double) /**< function that provides the PSD at a specified frequency */ double (*psdfunc)(double) /**< function that provides the PSD at a specified frequency */
); );
/**
* Reads file fname containing two-column amplitude spectral density data f
ile
* and interpolates at the frequencies required to populate the frequency
* series psd, with a low frequency cutoff flow.
*/
int XLALSimNoisePSDFromFile(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow, /**< low frequency cutoff (Hz) */
const char *fname /**< file containing amplitude spect
ral density data */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "NO_SRM.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGONoSRMLowPowerGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "ZERO_DET_low_P.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGOZeroDetLowPowerGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "ZERO_DET_high_P.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGOZeroDetHighPowerGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "NSNS_Opt.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGONSNSOptGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "BBH_20deg.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGOBHBH20DegGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/**
* Returns a frequency series psd with low frequency cutoff flow correspond
ing
* to the "High_Freq.txt" data file in LIGO-T0900288.
*/
int XLALSimNoisePSDaLIGOHighFrequencyGWINC(
REAL8FrequencySeries *psd, /**< frequency series to be computed
*/
double flow /**< low frequency cutoff (Hz) */
);
/* /*
* *
* NOISE GENERATION ROUTINES * NOISE GENERATION ROUTINES
* *
*/ */
/** /**
* Routine that may be used to generate sequential segments of data with a * Routine that may be used to generate sequential segments of data with a
* specified stride from one segment to the next. * specified stride from one segment to the next.
* *
 End of changes. 2 change blocks. 
0 lines changed or deleted 90 lines changed or added


 LALSimulationConfig.h   LALSimulationConfig.h 
/* src/LALSimulationConfig.h. Generated from LALSimulationConfig.h.in by c onfigure. */ /* src/LALSimulationConfig.h. Generated from LALSimulationConfig.h.in by c onfigure. */
/* only include this file if LALSimulation's config.h has not been included */ /* only include this file if LALSimulation's config.h has not been included */
#ifndef _LALSIMULATIONCONFIG_H #ifndef _LALSIMULATIONCONFIG_H
#define _LALSIMULATIONCONFIG_H #define _LALSIMULATIONCONFIG_H
/* LALFrame Version */ /* LALFrame Version */
#define LALSIMULATION_VERSION "0.6.1" #define LALSIMULATION_VERSION "1.0.0"
/* LALFrame Version Major Number */ /* LALFrame Version Major Number */
#define LALSIMULATION_VERSION_MAJOR 0 #define LALSIMULATION_VERSION_MAJOR 1
/* LALFrame Version Minor Number */ /* LALFrame Version Minor Number */
#define LALSIMULATION_VERSION_MINOR 6 #define LALSIMULATION_VERSION_MINOR 0
/* LALFrame Version Micro Number */ /* LALFrame Version Micro Number */
#define LALSIMULATION_VERSION_MICRO 1 #define LALSIMULATION_VERSION_MICRO 0
/* LALFrame Version Devel Number */ /* LALFrame Version Devel Number */
#define LALSIMULATION_VERSION_DEVEL 0 #define LALSIMULATION_VERSION_DEVEL 0
/* LALFrame Configure Arguments */ /* LALFrame Configure Arguments */
#define LALSIMULATION_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut /testing/lalsimulation/0.6.1' '--exec-prefix=/home/ut/testing/lalsimulation /0.6.1' '--sysconfdir=/home/ut/testing/lalsimulation/0.6.1' '--datadir=/hom e/ut/testing/lalsimulation/0.6.1/share' 'CFLAGS=-w -fpermissive' 'CXXFLAGS= -w -fpermissive'" #define LALSIMULATION_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut /testing/lalsimulation/1.0.0' '--exec-prefix=/home/ut/testing/lalsimulation /1.0.0' '--sysconfdir=/home/ut/testing/lalsimulation/1.0.0' '--datadir=/hom e/ut/testing/lalsimulation/1.0.0/share' 'CFLAGS=-w -fpermissive' 'CXXFLAGS= -w -fpermissive'"
/* LALFrame Configure Date */ /* LALFrame Configure Date */
#define LALSIMULATION_CONFIGURE_DATE "2013-01-15T02:33:46+0400" #define LALSIMULATION_CONFIGURE_DATE "2013-06-28T11:56:36+0400"
#endif /* _LALSIMULATIONCONFIG_H */ #endif /* _LALSIMULATIONCONFIG_H */
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 LALSimulationVCSInfo.h   LALSimulationVCSInfo.h 
skipping to change at line 19 skipping to change at line 19
* This program is distributed in the hope that it will be useful, but * This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of * WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details. * General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the * along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
* *
* Copyright (C) 2009-2011 Adam Mercer * Copyright (C) 2009-2013 Adam Mercer
*/ */
#ifndef _LALSIMULATIONVCSINFO_H #ifndef _LALSIMULATIONVCSINFO_H
#define _LALSIMULATIONVCSINFO_H #define _LALSIMULATIONVCSINFO_H
#include <lal/LALVCSInfo.h> #include <lal/LALVCSInfo.h>
#include <lal/LALSimulationLibVCSInfo.h> #include <lal/LALSimulationLibVCSInfo.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* vcs information defines */ /* vcs information defines */
#define LALSIMULATION_VCS_NAME "LALSimulation" #define LALSIMULATION_VCS_NAME "LALSimulation"
#define LALSIMULATION_VCS_ID "21b29bd3145601d28cdfa51b19f7096c0a669e20" #define LALSIMULATION_VCS_ID "2f7ecae9e1bb314ee45cde795e71f68840826609"
#define LALSIMULATION_VCS_DATE "2013-01-14 17:46:48 +0000" #define LALSIMULATION_VCS_DATE "2013-06-27 16:00:31 +0000"
#define LALSIMULATION_VCS_BRANCH "None" #define LALSIMULATION_VCS_BRANCH "None"
#define LALSIMULATION_VCS_TAG "lalsimulation-v0.6.1" #define LALSIMULATION_VCS_TAG "lalsimulation-v1.0.0"
#define LALSIMULATION_VCS_AUTHOR "Adam Mercer <adam.mercer@ligo.org>" #define LALSIMULATION_VCS_AUTHOR "Adam Mercer <adam.mercer@ligo.org>"
#define LALSIMULATION_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>" #define LALSIMULATION_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>"
#define LALSIMULATION_VCS_STATUS "CLEAN: All modifications committed" #define LALSIMULATION_VCS_STATUS "CLEAN: All modifications committed"
/* vcs information defines - identable*/ /* vcs information defines - identable*/
#define LALSIMULATION_VCS_IDENT_ID "$" "LALSimulationId: 21b29bd3145601d28c #define LALSIMULATION_VCS_IDENT_ID "$" "LALSimulationId: 2f7ecae9e1bb314ee4
dfa51b19f7096c0a669e20 " "$" 5cde795e71f68840826609 " "$"
#define LALSIMULATION_VCS_IDENT_DATE "$" "LALSimulationDate: 2013-01-14 17: #define LALSIMULATION_VCS_IDENT_DATE "$" "LALSimulationDate: 2013-06-27 16:
46:48 +0000 " "$" 00:31 +0000 " "$"
#define LALSIMULATION_VCS_IDENT_BRANCH "$" "LALSimulationBranch: None " "$" #define LALSIMULATION_VCS_IDENT_BRANCH "$" "LALSimulationBranch: None " "$"
#define LALSIMULATION_VCS_IDENT_TAG "$" "LALSimulationTag: lalsimulation-v0 .6.1 " "$" #define LALSIMULATION_VCS_IDENT_TAG "$" "LALSimulationTag: lalsimulation-v1 .0.0 " "$"
#define LALSIMULATION_VCS_IDENT_AUTHOR "$" "LALSimulationAuthor: Adam Merce r <adam.mercer@ligo.org> " "$" #define LALSIMULATION_VCS_IDENT_AUTHOR "$" "LALSimulationAuthor: Adam Merce r <adam.mercer@ligo.org> " "$"
#define LALSIMULATION_VCS_IDENT_COMMITTER "$" "LALSimulationCommitter: Adam Mercer <adam.mercer@ligo.org> " "$" #define LALSIMULATION_VCS_IDENT_COMMITTER "$" "LALSimulationCommitter: Adam Mercer <adam.mercer@ligo.org> " "$"
#define LALSIMULATION_VCS_IDENT_STATUS "$" "LALSimulationStatus: CLEAN: All modifications committed " "$" #define LALSIMULATION_VCS_IDENT_STATUS "$" "LALSimulationStatus: CLEAN: All modifications committed " "$"
/* vcs information structures */ /* vcs information structures */
static const struct tagLALVCSInfo lalSimulationHeaderVCSInfo = { \ static const struct tagLALVCSInfo lalSimulationHeaderVCSInfo = { \
LALSIMULATION_VCS_NAME, \ LALSIMULATION_VCS_NAME, \
LALSIMULATION_VERSION, \ LALSIMULATION_VERSION, \
LALSIMULATION_VCS_ID, \ LALSIMULATION_VCS_ID, \
LALSIMULATION_VCS_DATE, \ LALSIMULATION_VCS_DATE, \
 End of changes. 5 change blocks. 
9 lines changed or deleted 9 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/