20 #ifndef _CWMAKEFAKEDATA_H
21 #define _CWMAKEFAKEDATA_H
45 #include <lal/LALDatatypes.h>
46 #include <lal/SFTfileIO.h>
47 #include <lal/PulsarDataTypes.h>
48 #include <lal/ConfigFile.h>
49 #include <lal/DetectorStates.h>
50 #include <lal/FITSFileIO.h>
56 typedef struct tagPulsarParamsVector {
69 SWIGLAL( IMMUTABLE_MEMBERS( tagCWMFDataParams, SFTWindowType ) );
71 typedef struct tagCWMFDataParams {
93 SWIGLAL( INOUT_STRUCTS(
SFTVector **, SFTVect ) );
LIGOTimeGPSVector * timestamps
int XLALFindSmallestValidSamplingRate(UINT4 *n1, UINT4 n0, const LIGOTimeGPSVector *timestamps)
Find the smallest sampling rate of the form fsamp = n / Tsft, with n>=n0, such that all gap sizes Dt_...
int XLALCWMakeFakeData(SFTVector **SFTvect, REAL8TimeSeries **Tseries, const PulsarParamsVector *injectionSources, const CWMFDataParams *dataParams, UINT4 detectorIndex, const EphemerisData *edat)
Single-IFO version of XLALCWMakeFakeMultiData(), handling the actual work, but same input API.
PulsarParamsVector * XLALPulsarParamsVectorAppend(PulsarParamsVector *list, const PulsarParamsVector *add)
Append the given PulsarParamsVector 'add' to the vector 'list' ( which can be NULL),...
PulsarParamsVector * XLALCreatePulsarParamsVector(UINT4 numPulsars)
Create zero-initialized PulsarParamsVector for numPulsars.
int XLALReadPulsarParams(PulsarParams *pulsarParams, LALParsedDataFile *cfgdata, const CHAR *secName, const LIGOTimeGPS *refTimeDef)
Function to parse a config-file-type string (or section thereof) into a PulsarParams struct.
SFTVector * XLALMakeSFTsFromREAL8TimeSeries(const REAL8TimeSeries *timeseries, const LIGOTimeGPSVector *timestamps, const char *windowType, REAL8 windowParam)
Make SFTs from given REAL8TimeSeries at given timestamps, potentially applying a time-domain window o...
PulsarParamsVector * XLALPulsarParamsFromUserInput(const LALStringVector *UserInput, const LIGOTimeGPS *refTimeDef)
Function to determine the PulsarParamsVector input from a user-input defining CW sources.
const char *const InjectionSourcesHelpString
void XLALDestroyPulsarParamsVector(PulsarParamsVector *ppvect)
Destructor for PulsarParamsVector type.
int XLALFITSWritePulsarParamsVector(FITSFile *file, const CHAR *tableName, const PulsarParamsVector *list)
Write a PulsarParamsVector to a FITS file.
void XLALDestroyCWMFDataParams(CWMFDataParams *params)
Destructor for a CWMFDataParams type.
REAL4TimeSeries * XLALGenerateCWSignalTS(const PulsarParams *pulsarParams, const LALDetector *site, LIGOTimeGPS startTime, REAL8 duration, REAL8 fSamp, REAL8 fHet, const EphemerisData *edat, REAL8 sourceDeltaT)
Generate a (heterodyned) REAL4 timeseries of a CW signal for given pulsarParams, site,...
PulsarParamsVector * XLALPulsarParamsFromFile(const char *fname, const LIGOTimeGPS *refTimeDef)
Parse a given 'CWsources' config file for PulsarParams, return vector of all pulsar definitions found...
int XLALCWMakeFakeMultiData(MultiSFTVector **multiSFTs, MultiREAL8TimeSeries **multiTseries, const PulsarParamsVector *injectionSources, const CWMFDataParams *dataParams, const EphemerisData *edat)
Generate fake 'CW' data, returned either as SFTVector or REAL4Timeseries or both, for given CW-signal...
struct tagFITSFile FITSFile
Representation of a FITS file.
A vector of COMPLEX8FrequencySeries.
Struct controlling all the aspects of the fake data (time-series + SFTs) to be produced by XLALCWMake...
REAL8 sourceDeltaT
[optional] source-frame sampling period. '0' means to use the previous internal defaults
REAL8 fMin
smallest frequency guaranteed to be generated [returned fMin can be smaller]
MultiLALDetector multiIFO
detectors to generate data for
MultiLIGOTimeGPSVector * multiTimestamps
timestamps to generate SFTs for
REAL8 Band
smallest frequency band guaranteed to be generated [returned Band can be larger]
MultiREAL8TimeSeries * inputMultiTS
[optional] input time-series for signals+noise to be added to
MultiNoiseFloor multiNoiseFloor
... and corresponding noise-floors to generate Gaussian white noise for
UINT4 randSeed
seed value for random-number generator
const char * SFTWindowType
window to apply to the SFT timeseries
REAL8 SFTWindowParam
parameter required for some windows [otherwise must be 0]
This structure contains all information about the center-of-mass positions of the Earth and Sun,...
A vector of 'timestamps' of type LIGOTimeGPS.
array of detectors definitions 'LALDetector'
A collection of (multi-IFO) LIGOTimeGPSVector time-stamps vectors.
array of detector-specific 'noise floors' (ie PSD values), assumed constant over the frequency-band o...
A collection of (multi-IFO) REAL8 time-series.
A collection of SFT vectors – one for each IFO in a multi-IFO search.
Type defining the parameters of a pulsar-source of CW Gravitational waves.
Straightforward vector type of N PulsarParams structs.
PulsarParams * data
array of pulsar-signal parameters
UINT4 length
number of pulsar-signals