124#include <lal/LALInspiral.h>
125#include <lal/LALNoiseModels.h>
126#include <lal/LALStdlib.h>
127#include <lal/GeneratePPNInspiral.h>
128#include <lal/LALSQTPNWaveformInterface.h>
129#include <lal/TimeSeries.h>
130#include <lal/LALString.h>
131#include <lal/LALDict.h>
201 S1x, S1y, S1z, S2x, S2y, S2z,
r,
i,
280 for (
int j=0; str[j]; ++j)
281 if (!isspace(str[j]))
286 char *val = strchr(tok,
'=');
294 type = strchr(
key,
':');
313 ret =
XLALSimInspiralTD(hplus, hcross, m1, m2, S1x, S1y, S1z, S2x, S2y, S2z, distance, inclination, phi0, 0.0, 0.0, 0.0,
deltaT,
f_min, f_ref,
params,
approximant);
359 S1x, S1y, S1z, S2x, S2y, S2z,
r,
i,
408 XLALPrintError(
"XLALSimInspiralChooseWaveformFromInspiralTemplate generated a waveform longer than output vector.\n");
413 memset(signalvec->
data, 0.0, signalvec->
length *
sizeof(signalvec->
data[0]));
427 else switch (
params->approximant)
565 XLALPrintError(
"XLALSimInspiralChooseWaveformFromInspiralTemplate generated a waveform longer than output vector.\n");
570 memset(signalvec1->
data, 0.0, signalvec1->
length *
sizeof(signalvec1->
data[0]));
571 memset(signalvec2->
data, 0.0, signalvec2->
length *
sizeof(signalvec2->
data[0]));
574 for(idx = 0; idx < signalvec1->
length; idx++)
586 else switch (
params->approximant)
687 if ( waveform->
h == NULL )
697 if (waveform->
h == NULL)
704 "Memory allocation error when allocating CoherentGW REAL4VectorSequence.\n");
708 waveform->
h->
f0 = hplus->
f0;
713 waveform->
psi = ppnParams->
psi;
716 for(idx = 0; idx < waveform->
h->
data->
length; idx++)
void XLALDestroyDict(LALDict *dict)
LALDict * XLALCreateDict(void)
int XLALDictInsertStringValue(LALDict *dict, const char *key, const char *string)
int XLALDictInsertINT4Value(LALDict *dict, const char *key, INT4 value)
int XLALDictInsertREAL8Value(LALDict *dict, const char *key, REAL8 value)
void LALSTPNWaveform(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave2ForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALBBHPhenWaveTimeDomTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *insp_template)
int XLALInspiralStationaryPhaseApprox2(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALSTPNFramelessWaveform(REAL4Vector *signalvec, InspiralTemplate *params)
void LALInspiralEccentricity(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
void LALInspiralAmplitudeCorrectedWaveTemplates(LALStatus *status, REAL4Vector *filter1, REAL4Vector *filter2, InspiralTemplate *params)
int XLALInspiralStationaryPhaseApprox1(REAL4Vector *signalvec, InspiralTemplate *params)
void LALInspiralSpinModulatedWave(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *in)
int XLALInspiralWave1(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave1Templates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
void LALInspiralAmplitudeCorrectedWaveForInjection(LALStatus *status, CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALBBHPhenWaveAFreqDomTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALInspiralWave2Templates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALTaylorNWaveform(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave1ForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALBBHPhenWaveBFreqDom(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave2(REAL4Vector *signalvec, InspiralTemplate *params)
void LALInspiralAmplitudeCorrectedWave(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
int XLALNRInjectionFromSimInspiral(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, SimInspiralTable *thisRow, REAL8 deltaT)
int XLALBBHPhenWaveBFreqDomTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALSTPNFramelessWaveformForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
void LALTaylorT4Waveform(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave3Templates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALTaylorF2ReducedSpin(REAL4Vector *signalvec, InspiralTemplate *params)
Generate the "reduced-spin templates" proposed in http://arxiv.org/abs/1107.1267.
int XLALBBHPhenWaveTimeDomForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALTaylorF2ReducedSpinTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
Generate two orthogonal "reduced-spin" templates.
int XLALBBHPhenWaveAFreqDom(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave3(REAL4Vector *signalvec, InspiralTemplate *params)
void LALSTPNWaveformTemplates(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALTaylorEtWaveform(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALInspiralWave3ForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALBBHPhenWaveTimeDom(REAL4Vector *signalvec, InspiralTemplate *insp_template)
void LALSTPNWaveformForInjection(LALStatus *status, CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
void LALInspiralEccentricityTemplates(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALSTPNFramelessWaveformTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
void LALTaylorT4WaveformForInjection(LALStatus *status, CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
int XLALTaylorEtWaveformTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
int XLALInspiralTDWaveformFromSimInspiral(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, SimInspiralTable *thisRow, REAL8 deltaT)
Generate the plus and cross polarizations for a conditioned waveform form a row of the sim_inspiral t...
int XLALSimInspiralChooseWaveformFromInspiralTemplate(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, InspiralTemplate *params)
Generate the plus and cross polarizations for a waveform form a row of the InspiralTemplate structure...
void LALInspiralWaveTemplates(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
void LALInspiralWaveForInjection(LALStatus *status, CoherentGW *waveform, InspiralTemplate *inspiralParams, PPNParamStruc *ppnParams)
int XLALSimInspiralChooseWaveformFromSimInspiral(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, SimInspiralTable *thisRow, REAL8 deltaT)
Generate the plus and cross polarizations for a waveform form a row of the sim_inspiral table.
void LALInspiralWave(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
int XLALSimInspiralGetTaperFromString(const char *string)
int XLALSimInspiralGetPNOrderFromString(const char *waveform)
int XLALSimInspiralImplementedTDApproximants(Approximant approximant)
int XLALSimInspiralGetApproximantFromString(const char *waveform)
#define ABORT(statusptr, code, mesg)
#define CHECKSTATUSPTR(statusptr)
#define ATTATCHSTATUSPTR(statusptr)
#define ASSERT(assertion, statusptr, code, mesg)
#define DETATCHSTATUSPTR(statusptr)
#define INITSTATUS(statusptr)
#define RETURN(statusptr)
REAL4VectorSequence * XLALCreateREAL4VectorSequence(UINT4 length, UINT4 veclen)
int LALInfo(LALStatus *status, const char *info)
#define LALINSPIRALH_ECHOICE
Invalid choice for an input parameter.
#define LALINSPIRALH_EVECTOR
Attempting to write beyond the end of vector.
#define LALINSPIRALH_EMEM
Memory allocation error.
#define LALINSPIRALH_ENULL
Arguments contained an unexpected null pointer.
#define LALINSPIRALH_EORDER
unknown order specified
#define LALINSPIRALH_ESWITCH
Unknown case in switch.
#define LALINSPIRALH_ESIZE
Invalid input range.
int XLALPSpinInspiralRDTemplates(REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
Function to produce waveform templates.
int XLALPSpinInspiralRD(REAL4Vector *signalvec, InspiralTemplate *params)
int XLALPSpinInspiralRDForInjection(CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
Function Module to produce injection waveforms.
int XLALSimInspiralChooseTDWaveform(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, const REAL8 m1, const REAL8 m2, const REAL8 S1x, const REAL8 S1y, const REAL8 S1z, const REAL8 S2x, const REAL8 S2y, const REAL8 S2z, const REAL8 distance, const REAL8 inclination, const REAL8 phiRef, const REAL8 longAscNodes, const REAL8 eccentricity, const REAL8 UNUSED meanPerAno, const REAL8 deltaT, const REAL8 f_min, REAL8 f_ref, LALDict *params, const Approximant approximant)
int XLALSimInspiralTD(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 m1, REAL8 m2, REAL8 S1x, REAL8 S1y, REAL8 S1z, REAL8 S2x, REAL8 S2y, REAL8 S2z, REAL8 distance, REAL8 inclination, REAL8 phiRef, REAL8 longAscNodes, REAL8 eccentricity, REAL8 meanPerAno, REAL8 deltaT, REAL8 f_min, REAL8 f_ref, LALDict *LALparams, Approximant approximant)
char char * XLALStringDuplicate(const char *s)
int XLALStringCaseCompare(const char *s1, const char *s2)
char * XLALStringToken(char **s, const char *delim, int empty)
void XLALDestroyREAL8TimeSeries(REAL8TimeSeries *series)
int XLALPrintError(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1
REAL4TimeVectorSeries * h
The inspiral waveform parameter structure containing information about the waveform to be generated.
Approximant approximant
Post-Newtonain approximant to be used in generating the wave (input)
This structure stores the parameters for constructing a restricted post-Newtonian waveform.
REAL4 psi
polarization angle (radians)
SkyPosition position
location of source on sky
REAL4VectorSequence * data
CHAR taper[LIGOMETA_INSPIRALTAPER_MAX]
CHAR waveform[LIGOMETA_WAVEFORM_MAX]
CHAR numrel_data[LIGOMETA_STRING_MAX]