32#include <lal/AVFactories.h>
33#include <lal/VectorOps.h>
34#include <lal/SeqFactories.h>
35#include <lal/DetectorSite.h>
36#include <lal/GenerateInspiral.h>
37#include <lal/GeneratePPNInspiral.h>
38#include <lal/SimulateCoherentGW.h>
41#include <lal/LIGOLwXML.h>
42#include <lal/LIGOMetadataTables.h>
43#include <lal/LIGOMetadataInspiralUtils.h>
44#include <lal/LALInspiralBank.h>
45#include <lal/FindChirp.h>
46#include <lal/LALStdlib.h>
47#include <lal/LALInspiralBank.h>
48#include <lal/GenerateInspiral.h>
49#include <lal/GenerateInspRing.h>
50#include <lal/TimeSeries.h>
80 INT8 waveformStartTime;
120 ppnParams.
ppn = NULL;
145 switch ( chan->
name[0] )
171 "waveform with no time delay" );
190 unity->
data[
k] = 1.0;
200 thisRingdownEvent = ringdownevents;
209 for ( thisEvent = events; thisEvent; thisEvent = thisEvent->
next)
230 fprintf( stderr,
"Failed to generate the waveform \n" );
233 fprintf( stderr,
"Too much merger\n");
250 waveformStartTime -= (
INT8) ( 1000000000.0 * ppnParams.
tc );
254 LALInfo(
status,
"Waveform start time is zero: injecting waveform "
255 "into center of data segment" );
260 waveformStartTime += (
INT8) ( 1000000000.0 *
266 "Injected waveform timing:\n"
267 "thisEvent->geocent_end_time.gpsSeconds = %d\n"
268 "thisEvent->geocent_end_time.gpsNanoSeconds = %d\n"
269 "ppnParams.tc = %e\n"
292 if ( ( signalvec.
f0 = chan->
f0 ) != 0 )
310 UINT4 jj, kplus, kcross;
312 "waveform-%d-%d-%s.txt",
317 for( jj = 0, kplus = 0, kcross = 1; jj <
waveform.phi->data->length;
318 ++jj, kplus += 2, kcross +=2 )
335 "waveform-%d-%d-%s.txt",
340 for( jj = 0; jj < signalvec.
data->
length; ++jj )
355 if( thisEvent->
next )
359 thisRingdownEvent->
next = NULL;
LALDetectorIndexGEO600DIFF
LALDetectorIndexTAMA300DIFF
LALDetectorIndexVIRGODIFF
void LALFindChirpInjectIMR(LALStatus *status, REAL4TimeSeries *chan, SimInspiralTable *events, SimRingdownTable *ringdownevents, COMPLEX8FrequencySeries *resp, INT4 injectSignalType)
Provides an interface between code build from FindChirp Package and various simulation packages for i...
#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)
void LALSimulateCoherentGW(LALStatus *status, REAL4TimeSeries *output, CoherentGW *input, DetectorResponse *detector)
void LALSDestroyVectorSequence(LALStatus *status, REAL4VectorSequence **vectorSequence)
const LALDetector lalCachedDetectors[LAL_NUM_DETECTORS]
CoherentGW * XLALGenerateInspRing(CoherentGW *waveform, SimInspiralTable *thisEvent, SimRingdownTable *thisRingEvent, int injectSignalType)
void LALGenerateInspiral(LALStatus *status, CoherentGW *waveform, SimInspiralTable *params, PPNParamStruc *ppnParamsInputOutput)
void LALSSInjectTimeSeries(LALStatus *, REAL4TimeSeries *output, REAL4TimeSeries *signalvec)
int LALWarning(LALStatus *status, const char *warning)
int LALInfo(LALStatus *status, const char *info)
void XLALDestroyREAL4TimeSeries(REAL4TimeSeries *series)
const LALUnit lalStrainUnit
const LALUnit lalADCCountUnit
LALUnit * XLALUnitDivide(LALUnit *output, const LALUnit *unit1, const LALUnit *unit2)
void LALCCreateVector(LALStatus *, COMPLEX8Vector **, UINT4)
void LALCDestroyVector(LALStatus *, COMPLEX8Vector **)
void LALDDestroyVector(LALStatus *, REAL8Vector **)
void LALSDestroyVector(LALStatus *, REAL4Vector **)
void LALSCreateVector(LALStatus *, REAL4Vector **, UINT4)
void LALCCVectorDivide(LALStatus *status, COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
LIGOTimeGPS * XLALINT8NSToGPS(LIGOTimeGPS *epoch, INT8 ns)
INT8 XLALGPSToINT8NS(const LIGOTimeGPS *epoch)
struct tagLALStatus * statusPtr
const CHAR * termDescription
LIGOTimeGPS geocent_end_time
struct tagSimInspiralTable * next
CHAR waveform[LIGOMETA_WAVEFORM_MAX]
struct tagSimRingdownTable * next