76#include <lal/LALInspiral.h>
77#include <lal/LALStdlib.h>
79#include <lal/SeqFactories.h>
80#include <lal/GenerateInspiral.h>
81#include <lal/GeneratePPNInspiral.h>
82#include <lal/DetResponse.h>
83#include <lal/LIGOMetadataInspiralUtils.h>
86#define UNUSED __attribute__ ((unused))
202 if (paramsInit.
nbins == 0){
210 a.length = 2* paramsInit.
nbins;
218 if (!(ff.
data) || !(
a.data) || !(phi.
data))
240 p = phi.
data[count-1];
243 sprintf(message,
"cycles = %f",
p/(
double)
LAL_TWOPI);
247 sprintf(message,
"The waveform has only %f cycles; we don't keep waveform with less than 2 cycles.",
254 phiC = phi.
data[count-1] ;
255 for (
i = 0;
i < count;
i++)
264 LALINSPIRALH_MSGEMEM );
268 LALFree( waveform->
a ); waveform->
a = NULL;
270 LALINSPIRALH_MSGEMEM );
274 LALFree( waveform->
a ); waveform->
a = NULL;
275 LALFree( waveform->
f ); waveform->
f = NULL;
277 LALINSPIRALH_MSGEMEM );
308 waveform->
psi = ppnParams->
psi;
315 ppnParams->
tc = (double)(count-1) /
params->tSampling ;
316 ppnParams->
length = count;
356 REAL8 UNUSED unitHz = 0;
361 REAL8 UNUSED f2aFac = 0;
362 REAL8 UNUSED apFac = 0, acFac = 0;
365 double fPlus, fCross;
391 fPlus = cos(2.*
params->polarisationAngle);
392 fCross = sin(2.*
params->polarisationAngle);
410 apFac *= 1.0 + cosI*cosI;
423 ppnParams.
mTot = mTot;
424 ppnParams.
eta = etab;
432 ppnParams.
ppn = NULL;
450 else if (signalvec1) {
451 count =
params->nStartPad;
470 *(signalvec1->
data + count) = fPlus * hPlus + fCross * hCross;
483 ff->data[count] = (
REAL4)(omega/unitHz);
484 f2a = pow (f2aFac * omega, 2./3.);
512 if ( waveform.
shift )
void LALInspiralInit(LALStatus *status, InspiralTemplate *params, InspiralInit *paramsInit)
void LALInspiralAmplitudeCorrectedWaveForInjection(LALStatus *status, CoherentGW *waveform, InspiralTemplate *params, PPNParamStruc *ppnParams)
static void LALInspiralAmplitudeCorrectedWaveEngine(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, REAL4Vector *a, REAL4Vector *ff, REAL8Vector *phi, INT4 *countback, InspiralTemplate *params)
void LALInspiralAmplitudeCorrectedWave(LALStatus *status, REAL4Vector *signalvec, InspiralTemplate *params)
void LALInspiralAmplitudeCorrectedWaveTemplates(LALStatus *status, REAL4Vector *signalvec1, REAL4Vector *signalvec2, InspiralTemplate *params)
#define ABORT(statusptr, code, mesg)
#define CHECKSTATUSPTR(statusptr)
#define ENDFAIL(statusptr)
#define ATTATCHSTATUSPTR(statusptr)
#define ASSERT(assertion, statusptr, code, mesg)
#define DETATCHSTATUSPTR(statusptr)
#define INITSTATUS(statusptr)
#define RETURN(statusptr)
#define BEGINFAIL(statusptr)
void LALSDestroyVectorSequence(LALStatus *status, REAL4VectorSequence **vectorSequence)
void LALSCreateVectorSequence(LALStatus *status, REAL4VectorSequence **vectorSequence, CreateVectorSequenceIn *vSeqParams)
#define GENERATEPPNINSPIRALH_EFSTOP
Reached requested termination frequency.
void LALGeneratePPNAmpCorInspiral(LALStatus *stat, CoherentGW *output, PPNParamStruc *params)
Computes a parametrized post-Newtonian inspiral waveform with ampltidude corrections.
int LALWarning(LALStatus *status, const char *warning)
int LALInfo(LALStatus *status, const char *info)
#define LALINSPIRALH_EMEM
Memory allocation error.
#define LALINSPIRALH_ENULL
Arguments contained an unexpected null pointer.
#define LALINSPIRALH_ESIZE
Invalid input range.
COORDINATESYSTEM_EQUATORIAL
const LALUnit lalStrainUnit
const LALUnit lalHertzUnit
const LALUnit lalDimensionlessUnit
void LALDCreateVector(LALStatus *, REAL8Vector **, UINT4)
void LALDDestroyVector(LALStatus *, REAL8Vector **)
void LALSDestroyVector(LALStatus *, REAL4Vector **)
void LALSCreateVector(LALStatus *, REAL4Vector **, UINT4)
int XLALPrintError(const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(1
REAL4TimeVectorSeries * a
REAL4TimeVectorSeries * h
The inspiral waveform parameter structure containing information about the waveform to be generated.
This structure stores the parameters for constructing a restricted post-Newtonian waveform.
REAL4 fStopIn
The requested termination frequency of the waveform, in Hz; If set to 0, the waveform will be generat...
REAL4Vector * ppn
The parameters selecting the type of post-Newtonian expansion; If ppn=NULL, a "normal" (physical) ex...
const CHAR * termDescription
The termination code description (above)
INT4 termCode
The termination condition (above) that stopped computation of the waveform.
REAL4 dfdt
The maximum value of encountered over any timestep used in generating the waveform.
REAL4 phi
The phase at coalescence (or arbitrary reference phase for a post -Newtonian approximation),...
REAL4 psi
polarization angle (radians)
REAL4 fStart
The actual starting frequency of the waveform, in Hz (normally close but not identical to fStartIn)
INT4 ampOrder
PN amplitude selection 0-5.
SkyPosition position
location of source on sky
UINT4 length
The length of the generated waveform.
REAL4 fStop
The frequency at the termination of the waveform, in Hz.
REAL4 eta
The mass ratio of the binary system; Physically this parameter must lie in the range ; values outsid...
REAL8 tc
The time from the start of the waveform to coalescence (in the point-mass approximation),...
REAL4 mTot
The total mass of the binary system, in solar masses.
REAL4 fStartIn
The requested starting frequency of the waveform, in Hz.
REAL8 deltaT
The requested sampling interval of the waveform, in s.
REAL4 d
The distance to the system, in metres.
UINT4 lengthIn
The maximum number of samples in the generated waveform; If zero, the waveforms can be arbitrarily lo...
REAL4 inc
The inclination of the system to the line of sight, in radians.
REAL4VectorSequence * data