20#ifndef _NRWAVEINJECT_H
21#define _NRWAVEINJECT_H
29#include <lal/LALStdlib.h>
30#include <lal/LALConstants.h>
31#include <lal/AVFactories.h>
32#include <lal/SeqFactories.h>
33#include <lal/LIGOMetadataTables.h>
34#include <lal/NRWaveIO.h>
35#include <lal/TimeDelay.h>
36#include <lal/DetResponse.h>
37#include <lal/SphericalHarmonics.h>
55#define NRWAVEINJECT_ENULL 1
56#define NRWAVEINJECT_EFILE 2
57#define NRWAVEINJECT_ENONULL 3
58#define NRWAVEINJECT_ENOMEM 4
59#define NRWAVEINJECT_EVAL 5
60#define NRWAVEINJECT_EFORMAT 6
64#define NRWAVEINJECT_MSGENULL "Null pointer"
65#define NRWAVEINJECT_MSGEFILE "Error in file-IO"
66#define NRWAVEINJECT_MSGENONULL "Not a Null pointer"
67#define NRWAVEINJECT_MSGENOMEM "Memory ellocation error"
68#define NRWAVEINJECT_MSGEVAL "Invalid value"
69#define NRWAVEINJECT_MSGEFORMAT "Meta data file format incorrect"
72#define NINJA_MIN_MODE 2
73#define NINJA_MAX_MODE 5
76typedef enum tagNumRelGroup {
INT4 XLALFindNRFile(NRWaveMetaData *out, NRWaveCatalog *nrCatalog, const SimInspiralTable *inj, INT4 modeL, INT4 modeM)
For given inspiral parameters, find nearest waveform in catalog of numerical relativity waveforms.
REAL4TimeSeries * XLALCalculateNRStrain(REAL4TimeVectorSeries *strain, SimInspiralTable *thisInj, const CHAR *ifo, INT4 sampleRate)
INT4 XLALOrientNRWave(REAL4TimeVectorSeries *strain, UINT4 modeL, INT4 modeM, REAL4 inclination, REAL4 coa_phase)
Takes a (sky averaged) numerical relativity waveform and returns the waveform appropriate for given c...
void LALInjectStrainGWREAL8(LALStatus *status, REAL8TimeSeries *injData, REAL8TimeVectorSeries *strain, SimInspiralTable *thisInj, CHAR *ifo, REAL8 dynRange)
REAL8TimeVectorSeries * XLALOrientNRWaveREAL8(REAL8TimeVectorSeries *strain, UINT4 modeL, INT4 modeM, REAL4 inclination, REAL4 coa_phase)
Takes a (sky averaged) numerical relativity waveform and returns the waveform appropriate for given c...
NumRelGroup
enum for list of numrel groups
INT4 XLALFindNRCoalescencePlusCrossREAL8(REAL8 *tc, const REAL8TimeSeries *plus, const REAL8TimeSeries *cross)
INT4 XLALFindNRCoalescenceTimeFromhoft(REAL8 *tc, const REAL4TimeSeries *in)
Function for calculating the coalescence time (defined to be the peak) of a NR wave This uses the pea...
INT4 XLALFindNRCoalescenceTimeREAL8(REAL8 *tc, const REAL8TimeSeries *in)
Function for calculating the coalescence time (defined to be the peak) of a NR wave.
CHAR * XLALGetNinjaChannelName(const CHAR *polarisation, UINT4 l, INT4 m)
channel name for nr data in frame file
REAL4TimeVectorSeries * XLALSumStrain(REAL4TimeVectorSeries *tempstrain, REAL4TimeVectorSeries *strain)
Takes a strain of h+ and hx data and stores it in a temporal strain in order to perform the sum over ...
void XLALOrientNRWaveTimeSeriesREAL8(REAL8TimeSeries *plus, REAL8TimeSeries *cross, UINT4 modeL, INT4 modeM, REAL4 inclination, REAL4 coa_phase)
Takes a (sky averaged) numerical relativity waveform and returns the waveform appropriate for given c...
void LALInjectStrainGW(LALStatus *status, REAL4TimeSeries *injData, REAL4TimeVectorSeries *strain, SimInspiralTable *thisInj, CHAR *ifo, REAL8 dynRange)
REAL8TimeVectorSeries * XLALSumStrainREAL8(REAL8TimeVectorSeries *tempstrain, REAL8TimeVectorSeries *strain)
INT4 XLALFindNRCoalescenceTime(REAL8 *tc, const REAL4TimeVectorSeries *in)
Function for calculating the coalescence time (defined to be the peak) of a NR wave.
REAL8TimeSeries * XLALInterpolateNRWaveREAL8(REAL8TimeSeries *in, INT4 sampleRate)
Function for interpolating time series to a given sampling rate.
REAL4TimeSeries * XLALInterpolateNRWave(REAL4TimeSeries *in, INT4 sampleRate)
Function for interpolating time series to a given sampling rate.
NumRelGroup XLALParseNumRelGroupName(CHAR *name)
Function for parsing numrel group name and converting it into a enum element.
List of numrel waveform metadata.