20 #include <lal/LALStdio.h>
21 #include <lal/LALStdlib.h>
22 #include <lal/LALConstants.h>
23 #include <lal/Units.h>
24 #include <lal/AVFactories.h>
25 #include <lal/SeqFactories.h>
26 #include <lal/PulsarSimulateCoherentGW.h>
27 #include <lal/GenerateTaylorCW.h>
28 #include <lal/GenerateSpinOrbitCW.h>
68 UINT4 myindex = b + 1;
70 numer *=
a - b + myindex;
142 GENERATESPINORBITCWH_MSGENUL );
146 if (
params->rPeriNorm == 0.0 ) {
160 params->spinEpoch.gpsSeconds );
162 params->spinEpoch.gpsNanoSeconds );
176 f2Data = taylorParams.
f->
data;
177 memcpy( f2Data, f1Data, length *
sizeof(
REAL8 ) );
178 for (
i = 0;
i < length;
i++ ) {
180 fFac += f1Data[
i] * ( tN *=
t );
181 tFac += f1Data[
i] * tN / (
i + 2.0 );
182 for (
j =
i + 1;
j < length;
j++ ) {
183 f2Data[
i] +=
choose(
j + 1,
i + 1 ) * f1Data[
j] * ( tM *=
t );
187 taylorParams.
f0 *= fFac;
188 for (
i = 0;
i < length;
i++ ) {
198 if ( taylorParams.
f ) {
204 if ( taylorParams.
f ) {
214 else if (
params->oneMinusEcc > 1.0 ) {
216 GENERATESPINORBITCWH_MSGEECC );
220 else if (
params->oneMinusEcc > 0.0 ) {
226 else if (
params->oneMinusEcc == 0.0 ) {
static UINT4 choose(UINT4 a, UINT4 b)
#define ABORT(statusptr, code, mesg)
#define ENDFAIL(statusptr)
#define TRY(func, statusptr)
#define ATTATCHSTATUSPTR(statusptr)
#define ASSERT(assertion, statusptr, code, mesg)
#define DETATCHSTATUSPTR(statusptr)
#define INITSTATUS(statusptr)
#define RETURN(statusptr)
#define BEGINFAIL(statusptr)
const WeaveSearchTimingDenominator denom
#define GENERATESPINORBITCWH_EECC
Eccentricity out of range.
void LALGenerateHyperbolicSpinOrbitCW(LALStatus *stat, PulsarCoherentGW *output, SpinOrbitCWParamStruc *params)
Computes a continuous waveform with frequency drift and Doppler modulation from a hyperbolic orbital ...
void LALGenerateEllipticSpinOrbitCW(LALStatus *stat, PulsarCoherentGW *output, SpinOrbitCWParamStruc *params)
Computes a continuous waveform with frequency drift and Doppler modulation from an elliptical orbital...
void LALGenerateSpinOrbitCW(LALStatus *stat, PulsarCoherentGW *output, SpinOrbitCWParamStruc *params)
Computes a spindown- and Doppler-modulated continuous waveform.
#define GENERATESPINORBITCWH_ENUL
Unexpected null pointer in arguments.
void LALGenerateParabolicSpinOrbitCW(LALStatus *stat, PulsarCoherentGW *output, SpinOrbitCWParamStruc *params)
Computes a continuous waveform with frequency drift and Doppler modulation from a parabolic orbital t...
int XLALGenerateSpinOrbitCW(PulsarCoherentGW *sourceSignal, SpinOrbitCWParamStruc *sourceParams)
FIXME: Temporary XLAL-wapper to LAL-function LALGenerateSpinOrbitCW()
void LALGenerateTaylorCW(LALStatus *stat, PulsarCoherentGW *output, TaylorCWParamStruc *params)
Computes a Taylor-parametrized continuous waveform.
#define XLAL_INIT_DECL(var,...)
void LALDCreateVector(LALStatus *, REAL8Vector **, UINT4)
void LALDDestroyVector(LALStatus *, REAL8Vector **)
#define XLAL_CHECK(assertion,...)
This structure stores a representation of a plane gravitational wave propagating from a particular po...
This structure stores the parameters for constructing a gravitational waveform with both a Taylor-pol...
This structure stores the parameters for constructing a gravitational waveform with a Taylor-polynomi...
REAL8 deltaT
The requested sampling interval of the waveform, in s.
SkyPosition position
The location of the source on the sky, normally in equatorial coordinates.
REAL8Vector * f
The spin-normalized Taylor parameters , as defined in Eq.
REAL4 dfdt
The maximum value of encountered over any timestep used in generating the waveform.
REAL8 phi0
The wave phase at time , in radians.
LIGOTimeGPS epoch
The start time of the output series.
UINT4 length
The number of samples in the generated waveform.
REAL4 psi
The polarization angle of the source, in radians.
REAL8 f0
The wave frequency at time , in Hz.
REAL4 aCross
The polarization amplitudes , , in dimensionless strain units.