GeneratePulsarSignal.h File Reference

Author:
Reinhard Prix, Greg Mendell API for GeneratePulsarSignal.c
More...

#include <lal/LALDatatypes.h>
#include <lal/DetResponse.h>
#include <lal/DetectorSite.h>
#include <lal/GenerateSpinOrbitCW.h>
#include <lal/Date.h>
#include <lal/LALBarycenter.h>
#include <lal/PulsarDataTypes.h>
#include <lal/ComputeSky.h>
#include <lal/ComputeSkyBinary.h>
#include <lal/Window.h>

Include dependency graph for GeneratePulsarSignal.h:

Go to the source code of this file.

Data Structures

struct  PulsarSignalParams
 Input parameters to GeneratePulsarSignal(), defining the source and the time-series. More...
struct  SFTParams
 Parameters defining the SFTs to be returned from LALSignalToSFTs(). More...
struct  SFTandSignalParams
 Parameters defining the pulsar signal and SFTs used by LALFastGeneratePulsarSFTs(). More...
struct  SkyConstAndZeroPsiAMResponse
 Sky Constants and beam pattern response functions used by LALFastGeneratePulsarSFTs(). More...

Defines

Error codes
#define GENERATEPULSARSIGNALH_ENULL   1
#define GENERATEPULSARSIGNALH_ENONULL   2
#define GENERATEPULSARSIGNALH_EMEM   3
#define GENERATEPULSARSIGNALH_ESAMPLING   4
#define GENERATEPULSARSIGNALH_ESSBCONVERT   5
#define GENERATEPULSARSIGNALH_ESYS   6
#define GENERATEPULSARSIGNALH_ETIMEBOUND   7
#define GENERATEPULSARSIGNALH_ENUMSFTS   8
#define GENERATEPULSARSIGNALH_EINCONSBAND   9
#define GENERATEPULSARSIGNALH_ENOISEDELTAF   10
#define GENERATEPULSARSIGNALH_ENOISEBAND   11
#define GENERATEPULSARSIGNALH_ENOISEBINS   12
#define GENERATEPULSARSIGNALH_EBADCOORDS   13
#define GENERATEPULSARSIGNALH_ELUTS   14
#define GENERATEPULSARSIGNALH_EDTERMS   15
#define GENERATEPULSARSIGNALH_EINPUT   16
#define GENERATEPULSARSIGNALH_EDETECTOR   17
#define GENERATEPULSARSIGNALH_MSGENULL   "Arguments contained an unexpected null pointer"
#define GENERATEPULSARSIGNALH_MSGENONULL   "Output pointer is not NULL"
#define GENERATEPULSARSIGNALH_MSGEMEM   "Out of memory"
#define GENERATEPULSARSIGNALH_MSGESAMPLING   "Waveform sampling interval too large."
#define GENERATEPULSARSIGNALH_MSGESSBCONVERT   "SSB->GPS iterative conversion failed"
#define GENERATEPULSARSIGNALH_MSGESYS   "System error, probably while File I/O"
#define GENERATEPULSARSIGNALH_MSGETIMEBOUND   "Timestamp outside of allowed time-interval"
#define GENERATEPULSARSIGNALH_MSGENUMSFTS   "Inconsistent number of SFTs in timestamps and noise-SFTs"
#define GENERATEPULSARSIGNALH_MSGEINCONSBAND   "Inconsistent values of sampling-rate and Tsft"
#define GENERATEPULSARSIGNALH_MSGENOISEDELTAF   "Frequency resolution of noise-SFTs inconsistent with signal"
#define GENERATEPULSARSIGNALH_MSGENOISEBAND   "Frequency band of noise-SFTs inconsistent with signal"
#define GENERATEPULSARSIGNALH_MSGENOISEBINS   "Frequency bins of noise-SFTs inconsistent with signal"
#define GENERATEPULSARSIGNALH_MSGEBADCOORDS   "Current code requires sky position in equatorial coordinates"
#define GENERATEPULSARSIGNALH_MSGELUTS   "Lookup tables (LUTs) for trig functions must be defined on domain -2pi to 2pi inclusive"
#define GENERATEPULSARSIGNALH_MSGEDTERMS   "Dterms must be greater than zero and less than or equal to half the number of SFT bins"
#define GENERATEPULSARSIGNALH_MSGEINPUT   "Invalid input-arguments to function"
#define GENERATEPULSARSIGNALH_MSGEDETECTOR   "Unknown detector-name"

Functions

 NRCSID (GENERATEPULSARSIGNALH,"$Id: GeneratePulsarSignal.h,v 1.24 2008/08/14 18:09:08 evang Exp $")
void LALGeneratePulsarSignal (LALStatus *, REAL4TimeSeries **signal, const PulsarSignalParams *params)
 Generate a time-series at the detector for a given pulsar.
void LALSimulateExactPulsarSignal (LALStatus *, REAL4TimeSeries **timeSeries, const PulsarSignalParams *params)
 Simulate a pulsar signal to best accuracy possible.
void LALSignalToSFTs (LALStatus *, SFTVector **outputSFTs, const REAL4TimeSeries *signal, const SFTParams *params)
 Turn the given time-series into (v2-)SFTs and add noise if given.
void LALComputeSkyAndZeroPsiAMResponse (LALStatus *, SkyConstAndZeroPsiAMResponse *output, const SFTandSignalParams *params)
 Wrapper for LALComputeSky() and LALComputeDetAMResponse() that finds the sky constants and $F_+$ and $F_\times$ for use with LALFastGeneratePulsarSFTs().
void LALFastGeneratePulsarSFTs (LALStatus *, SFTVector **outputSFTs, const SkyConstAndZeroPsiAMResponse *input, const SFTandSignalParams *params)
 Fast generation of Fake SFTs for a pure pulsar signal.
void LALConvertGPS2SSB (LALStatus *, LIGOTimeGPS *SSBout, LIGOTimeGPS GPSin, const PulsarSignalParams *params)
 Convert earth-frame GPS time into barycentric-frame SSB time for given source.
void LALConvertSSB2GPS (LALStatus *, LIGOTimeGPS *GPSout, LIGOTimeGPS GPSin, const PulsarSignalParams *params)
 Convert barycentric frame SSB time into earth-frame GPS time.

Variables

const PulsarSignalParams empty_PulsarSignalParams
const SFTParams empty_SFTParams
const SFTandSignalParams empty_SFTandSignalParams


Detailed Description

Author:
Reinhard Prix, Greg Mendell API for GeneratePulsarSignal.c

Date:
2005
Id
GeneratePulsarSignal.h,v 1.24 2008/08/14 18:09:08 evang Exp

Definition in file GeneratePulsarSignal.h.


Define Documentation

#define GENERATEPULSARSIGNALH_ENULL   1

Definition at line 253 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ENONULL   2

Definition at line 254 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EMEM   3

Definition at line 255 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ESAMPLING   4

Definition at line 256 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ESSBCONVERT   5

Definition at line 257 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ESYS   6

Definition at line 258 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ETIMEBOUND   7

Definition at line 259 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ENUMSFTS   8

Definition at line 260 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EINCONSBAND   9

Definition at line 261 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ENOISEDELTAF   10

Definition at line 262 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ENOISEBAND   11

Definition at line 263 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ENOISEBINS   12

Definition at line 264 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EBADCOORDS   13

Definition at line 265 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_ELUTS   14

Definition at line 266 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EDTERMS   15

Definition at line 267 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EINPUT   16

Definition at line 268 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_EDETECTOR   17

Definition at line 269 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENULL   "Arguments contained an unexpected null pointer"

Definition at line 271 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENONULL   "Output pointer is not NULL"

Definition at line 272 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEMEM   "Out of memory"

Definition at line 273 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGESAMPLING   "Waveform sampling interval too large."

Definition at line 274 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGESSBCONVERT   "SSB->GPS iterative conversion failed"

Definition at line 275 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGESYS   "System error, probably while File I/O"

Definition at line 276 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGETIMEBOUND   "Timestamp outside of allowed time-interval"

Definition at line 277 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENUMSFTS   "Inconsistent number of SFTs in timestamps and noise-SFTs"

Definition at line 278 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEINCONSBAND   "Inconsistent values of sampling-rate and Tsft"

Definition at line 279 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENOISEDELTAF   "Frequency resolution of noise-SFTs inconsistent with signal"

Definition at line 280 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENOISEBAND   "Frequency band of noise-SFTs inconsistent with signal"

Definition at line 281 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGENOISEBINS   "Frequency bins of noise-SFTs inconsistent with signal"

Definition at line 282 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEBADCOORDS   "Current code requires sky position in equatorial coordinates"

Definition at line 283 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGELUTS   "Lookup tables (LUTs) for trig functions must be defined on domain -2pi to 2pi inclusive"

Definition at line 284 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEDTERMS   "Dterms must be greater than zero and less than or equal to half the number of SFT bins"

Definition at line 285 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEINPUT   "Invalid input-arguments to function"

Definition at line 286 of file GeneratePulsarSignal.h.

#define GENERATEPULSARSIGNALH_MSGEDETECTOR   "Unknown detector-name"

Definition at line 287 of file GeneratePulsarSignal.h.


Function Documentation

NRCSID ( GENERATEPULSARSIGNALH  ,
"$Id: GeneratePulsarSignal.  h,
v 1.24 2008/08/14 18:09:08 evang Exp $"   
)

void LALGeneratePulsarSignal ( LALStatus ,
REAL4TimeSeries **  signal,
const PulsarSignalParams params 
)

Generate a time-series at the detector for a given pulsar.

Parameters:
signal  output time-series
params  input params

Definition at line 79 of file GeneratePulsarSignal.c.

void LALSimulateExactPulsarSignal ( LALStatus status,
REAL4TimeSeries **  timeSeries,
const PulsarSignalParams params 
)

Simulate a pulsar signal to best accuracy possible.

NOTE: currently only isolated pulsars are supported

NOTE2: we don't really use the highest possible accuracy right now, as we blatently neglect all relativistic timing effects (i.e. using dT=v.n/c)

NOTE3: no heterodyning is performed here, the time-series is generated and sampled at the given rate, that's all! ==> the caller needs to make sure about the right sampling rate to use (->aliasing) and do the proper post-treatment...

Definition at line 169 of file SimulatePulsarSignal.c.

void LALSignalToSFTs ( LALStatus ,
SFTVector **  outputSFTs,
const REAL4TimeSeries signal,
const SFTParams params 
)

Turn the given time-series into (v2-)SFTs and add noise if given.

Parameters:
outputSFTs  [out] SFT-vector
signal  input time-series
params  params for output-SFTs

Definition at line 259 of file GeneratePulsarSignal.c.

void LALComputeSkyAndZeroPsiAMResponse ( LALStatus status,
SkyConstAndZeroPsiAMResponse output,
const SFTandSignalParams params 
)

Wrapper for LALComputeSky() and LALComputeDetAMResponse() that finds the sky constants and $F_+$ and $F_\times$ for use with LALFastGeneratePulsarSFTs().

Uses the output of LALComputeSkyAndZeroPsiAMResponse() and the same inputs as LALGeneratePulsarSignal() and LALSignalToSFTs(). This function used LALComputeSkyBinary() if params->pSigParams->orbit is not NULL, else it uses LALComputeSky() to find the skyConsts. NOTE THAT THIS FUNCTION COMPUTES $F_+$ and $F_x$ for ZERO Psi!!! LALFastGeneratePulsarSFTs() used these to find $F_+$ and $F_x$ for NONZERO Psi.

Parameters:
output  output
params  params

Definition at line 510 of file GeneratePulsarSignal.c.

void LALFastGeneratePulsarSFTs ( LALStatus status,
SFTVector **  outputSFTs,
const SkyConstAndZeroPsiAMResponse input,
const SFTandSignalParams params 
)

Fast generation of Fake SFTs for a pure pulsar signal.

Uses the output of LALComputeSkyAndZeroPsiAMResponse and the same inputs as LALGeneratePulsarSignal and LALSignalToSFTs. The fake signal is Taylor expanded to first order about the midpoint time of each SFT. Analytic expressions are used to find each SFT

Definition at line 637 of file GeneratePulsarSignal.c.

void LALConvertGPS2SSB ( LALStatus status,
LIGOTimeGPS SSBout,
LIGOTimeGPS  GPSin,
const PulsarSignalParams params 
)

Convert earth-frame GPS time into barycentric-frame SSB time for given source.

Note:
The only fields used in params are: site, pulsar.position and ephemerides.
Parameters:
SSBout  [out] arrival-time in SSB
GPSin  [in] GPS-arrival time at detector
params  define source-location and detector

Definition at line 886 of file GeneratePulsarSignal.c.

void LALConvertSSB2GPS ( LALStatus status,
LIGOTimeGPS GPSout,
LIGOTimeGPS  SSBin,
const PulsarSignalParams params 
)

Convert barycentric frame SSB time into earth-frame GPS time.

NOTE: this uses simply the inversion-routine used in the original makefakedata_v2

Parameters:
GPSout  [out] GPS-arrival-time at detector
SSBin  [in] input: signal arrival time at SSB
params  params defining source-location and detector

Definition at line 939 of file GeneratePulsarSignal.c.


Variable Documentation

const PulsarSignalParams empty_PulsarSignalParams

Definition at line 71 of file GeneratePulsarSignal.c.

const SFTParams empty_SFTParams

Definition at line 72 of file GeneratePulsarSignal.c.

const SFTandSignalParams empty_SFTandSignalParams

Definition at line 73 of file GeneratePulsarSignal.c.


Generated on Fri Aug 29 02:49:54 2008 for LAL by  doxygen 1.5.2