Go to the source code of this file.
Macros | |
#define | LAL_PI_1_2 1.7724538509055160272981674833411451 /* sqrt of PI */ |
#define | LAL_PI_1_4 1.3313353638003897127975349179502808 /* PI^1/4 */ |
#define | LAL_4RT2 1.1892071150027210667174999705604759 /* 2^(1/4) */ |
#define | FRTH_2_Pi 0.8932438417380023314010427521746490 /* (2/Pi)^(1/4)*/ |
#define | FRTH_2_times_PI 1.5832334870861595385799030344545584 /* (2*Pi)^(1/4)*/ |
#define | LAL_SQRT_PI 1.7724538509055160272981674833411451 /* sqrt of PI */ |
Enumerations | |
enum | CacheVariableDiffersBitmask { NO_DIFFERENCE = 0 , INTRINSIC = 1 , HRSS = 2 } |
Bitmask enumerating which parameters have changed, to determine if the requested waveform can be transformed from a cached waveform or if it must be generated from scratch. More... | |
#define LAL_PI_1_2 1.7724538509055160272981674833411451 /* sqrt of PI */ |
Definition at line 43 of file LALInferenceBurstRoutines.c.
#define LAL_PI_1_4 1.3313353638003897127975349179502808 /* PI^1/4 */ |
Definition at line 44 of file LALInferenceBurstRoutines.c.
#define LAL_4RT2 1.1892071150027210667174999705604759 /* 2^(1/4) */ |
Definition at line 45 of file LALInferenceBurstRoutines.c.
#define FRTH_2_Pi 0.8932438417380023314010427521746490 /* (2/Pi)^(1/4)*/ |
Definition at line 46 of file LALInferenceBurstRoutines.c.
#define FRTH_2_times_PI 1.5832334870861595385799030344545584 /* (2*Pi)^(1/4)*/ |
Definition at line 47 of file LALInferenceBurstRoutines.c.
#define LAL_SQRT_PI 1.7724538509055160272981674833411451 /* sqrt of PI */ |
Definition at line 48 of file LALInferenceBurstRoutines.c.
Bitmask enumerating which parameters have changed, to determine if the requested waveform can be transformed from a cached waveform or if it must be generated from scratch.
Enumerator | |
---|---|
NO_DIFFERENCE | |
INTRINSIC | |
HRSS |
Definition at line 995 of file LALInferenceBurstRoutines.c.
|
static |
Definition at line 57 of file LALInferenceBurstRoutines.c.
int XLALGetBurstApproximantFromString | ( | const CHAR * | inString | ) |
XLAL function to determine burst approximant from a string.
The string need not match exactly, only contain a member of the BurstApproximant enum.
Definition at line 65 of file LALInferenceBurstRoutines.c.
int XLALCheckBurstApproximantFromString | ( | const CHAR * | inString | ) |
Definition at line 101 of file LALInferenceBurstRoutines.c.
int XLALSimBurstImplementedTDApproximants | ( | BurstApproximant | approximant | ) |
approximant | Burst approximant (see enum in LALSimBurst.h) |
Definition at line 123 of file LALInferenceBurstRoutines.c.
int XLALSimBurstImplementedFDApproximants | ( | BurstApproximant | approximant | ) |
Checks whether the given approximant is implemented in lalsimulation's XLALSimInspiralChooseFDWaveform().
returns 1 if the approximant is implemented, 0 otherwise.
approximant | Burst approximant (see enum in LALSimBurst.h) |
Definition at line 144 of file LALInferenceBurstRoutines.c.
int XLALSimBurstChooseFDWaveform | ( | COMPLEX16FrequencySeries ** | hptilde, |
COMPLEX16FrequencySeries ** | hctilde, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT, | ||
REAL8 | f0, | ||
REAL8 | q, | ||
REAL8 | tau, | ||
REAL8 | f_min, | ||
REAL8 | f_max, | ||
REAL8 | hrss, | ||
REAL8 | polar_angle, | ||
REAL8 | polar_ecc, | ||
LALSimBurstExtraParam * | extraParams, | ||
BurstApproximant | approximant | ||
) |
hptilde | FD plus polarization |
hctilde | FD cross polarization |
deltaF | sampling interval (Hz) |
deltaT | time step corresponding to consec |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x amplitude. |
polar_ecc | See above |
extraParams | Linked list of extra burst parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
Definition at line 168 of file LALInferenceBurstRoutines.c.
int XLALSimBurstChooseTDWaveform | ( | REAL8TimeSeries ** | hplus, |
REAL8TimeSeries ** | hcross, | ||
REAL8 | deltaT, | ||
REAL8 | f0, | ||
REAL8 | q, | ||
REAL8 | tau, | ||
REAL8 | f_min, | ||
REAL8 | f_max, | ||
REAL8 | hrss, | ||
REAL8 | polar_angle, | ||
REAL8 | polar_ecc, | ||
LALSimBurstExtraParam * | extraParams, | ||
BurstApproximant | approximant | ||
) |
hplus | +-polarization waveform |
hcross | x-polarization waveform |
deltaT | time step corresponding to consec |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x amplitude. |
polar_ecc | See above |
extraParams | Linked list of non-GR parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
Definition at line 245 of file LALInferenceBurstRoutines.c.
char * XLALGetStringFromBurstApproximant | ( | BurstApproximant | bapproximant | ) |
XLAL function to determine string from approximant enum.
This function needs to be updated when new approximants are added.
Definition at line 315 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstSineGaussian | ( | REAL8TimeSeries ** | hplus, |
REAL8TimeSeries ** | hcross, | ||
REAL8 | Q, | ||
REAL8 | centre_frequency, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | phase, | ||
REAL8 | delta_t | ||
) |
Input:
Enumeration to specify time or frequency domain.
Q: the "Q" of the waveform. The Gaussian envelope is \(exp(-1/2 t^{2} / \sigma_{t}^{2})\) where \(\sigma_{t} = Q / (2 \pi f)\). High Q --> long duration.
centre_frequency: the frequency of the sinusoidal oscillations that get multiplied by the Gaussian envelope.
hrss: the root-sum-squares strain of the waveform (summed over both polarizations). See K. Riles, LIGO-T040055-00.pdf.
eccentricity: 0 --> circularly polarized, 1 --> linearly polarized.
polarization: the angle from the + axis to the major axis of the waveform ellipsoid. with the eccentricity set to 1 (output is linearly polarized): 0 --> output contains + polarization only; pi/2 --> output contains x polarization only. with the eccentricity set to 0 (output is circularly polarized), the polarization parameter is irrelevant.
Output:
h+ and hx time series containing a cosine-Gaussian in the + polarization and a sine-Gaussian in the x polarization. The Gaussian envelope peaks in both at t = 0 as defined by epoch and deltaT. Note that a Tukey window with tapers covering 50% of the time series is applied to make the waveform go to 0 smoothly at the start and end.
Definition at line 381 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstSineGaussianF | ( | COMPLEX16FrequencySeries ** | hplus, |
COMPLEX16FrequencySeries ** | hcross, | ||
REAL8 | Q, | ||
REAL8 | centre_frequency, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | phase, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT | ||
) |
Definition at line 454 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstSineGaussianFFast | ( | COMPLEX16FrequencySeries ** | hplus, |
COMPLEX16FrequencySeries ** | hcross, | ||
REAL8 | Q, | ||
REAL8 | centre_frequency, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | phase, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT | ||
) |
Definition at line 558 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstGaussian | ( | REAL8TimeSeries ** | hplus, |
REAL8TimeSeries ** | hcross, | ||
REAL8 | duration, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | polarization, | ||
REAL8 | delta_t | ||
) |
Definition at line 663 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstGaussianF | ( | COMPLEX16FrequencySeries ** | hplus, |
COMPLEX16FrequencySeries ** | hcross, | ||
REAL8 | duration, | ||
REAL8 | hrss, | ||
REAL8 | phase, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT | ||
) |
Definition at line 726 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstDampedSinusoid | ( | REAL8TimeSeries ** | hplus, |
REAL8TimeSeries ** | hcross, | ||
REAL8 | Q, | ||
REAL8 | centre_frequency, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | phase, | ||
REAL8 | delta_t | ||
) |
Definition at line 803 of file LALInferenceBurstRoutines.c.
int XLALInferenceBurstDampedSinusoidF | ( | COMPLEX16FrequencySeries ** | hplus, |
COMPLEX16FrequencySeries ** | hcross, | ||
REAL8 | Q, | ||
REAL8 | centre_frequency, | ||
REAL8 | hrss, | ||
REAL8 | eccentricity, | ||
REAL8 | phase, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT | ||
) |
Definition at line 871 of file LALInferenceBurstRoutines.c.
|
static |
Function to compare the requested arguments to those stored in the cache, returns a bitmask which determines if a cached waveform can be recycled.
cache | waveform cache structure; use NULL for no caching |
deltaT | time steps |
deltaF | frequency steps |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x amplitude |
polar_ecc | See above |
extraParams | Linked list of non-GR parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
Definition at line 1291 of file LALInferenceBurstRoutines.c.
|
static |
Store the output TD hplus and hcross in the cache.
cache | the cache |
hplus | the plus polarisation time series |
hcross | the cross polarisation time series |
deltaT | time step corresponding to consec |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x amplitude. |
polar_ecc | See above |
extraParams | Linked list of non-GR parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
Definition at line 1329 of file LALInferenceBurstRoutines.c.
|
static |
Store the output FD hptilde and hctilde in cache.
cache | the cache |
hptilde | the plus polarisation frequency series |
hctilde | the cross polarisation frequency series |
deltaF | sampling interval (Hz) |
deltaT | time step corresponding to consec |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x aplitude. |
polar_ecc | See above |
extraParams | Linked list of extra burst parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
Definition at line 1395 of file LALInferenceBurstRoutines.c.
int XLALSimBurstChooseTDWaveformFromCache | ( | REAL8TimeSeries ** | hplus, |
REAL8TimeSeries ** | hcross, | ||
REAL8 | deltaT, | ||
REAL8 | f0, | ||
REAL8 | q, | ||
REAL8 | tau, | ||
REAL8 | f_min, | ||
REAL8 | f_max, | ||
REAL8 | hrss, | ||
REAL8 | polar_angle, | ||
REAL8 | polar_ecc, | ||
LALSimBurstExtraParam * | extraParams, | ||
BurstApproximant | approximant, | ||
LALSimBurstWaveformCache * | cache | ||
) |
Chooses between different approximants when requesting a waveform to be generated Returns the waveform in the time domain.
The parameters passed must be in SI units.
This version allows caching of waveforms. The most recently generated waveform and its parameters are stored. If the next call requests a waveform that can be obtained by a simple transformation, then it is done. This bypasses the waveform generation and speeds up the code.
hplus | +-polarization waveform |
hcross | x-polarization waveform |
deltaT | sampling interval (s) |
f0 | central frequency [Hz] |
q | quality |
tau | duration |
f_min | starting GW frequency (Hz) |
f_max | max GW frequency (Hz) |
hrss | hrss |
polar_angle | Together with polar_ecc, controls ratio plus/cross polarization (rad) |
polar_ecc | (tidal deformability of mass 1) / m1^5 (dimensionless) |
extraParams | Linked list of extra Parameters. Pass in NULL (or None in python) to neglect |
approximant | Burst approximant to use for waveform production |
cache | waveform cache structure; use NULL for no caching |
Definition at line 1056 of file LALInferenceBurstRoutines.c.
int XLALSimBurstChooseFDWaveformFromCache | ( | COMPLEX16FrequencySeries ** | hptilde, |
COMPLEX16FrequencySeries ** | hctilde, | ||
REAL8 | deltaF, | ||
REAL8 | deltaT, | ||
REAL8 | f0, | ||
REAL8 | q, | ||
REAL8 | tau, | ||
REAL8 | f_min, | ||
REAL8 | f_max, | ||
REAL8 | hrss, | ||
REAL8 | polar_angle, | ||
REAL8 | polar_ecc, | ||
LALSimBurstExtraParam * | extraParams, | ||
BurstApproximant | approximant, | ||
LALSimBurstWaveformCache * | cache | ||
) |
Chooses between different approximants when requesting a waveform to be generated Returns the waveform in the frequency domain.
The parameters passed must be in SI units.
This version allows caching of waveforms. The most recently generated waveform and its parameters are stored. If the next call requests a waveform that can be obtained by a simple transformation, then it is done. This bypasses the waveform generation and speeds up the code.
hptilde | +-polarization waveform |
hctilde | x-polarization waveform |
deltaF | sampling interval (Hz) |
deltaT | time step corresponding to consec |
f0 | central frequency (Hz) |
q | Q (==sqrt(2) \(\pi\) f0 tau ) [dless] |
tau | Duration [s] |
f_min | starting GW frequency (Hz) |
f_max | ending GW frequency (Hz) (0 for Nyquist) |
hrss | hrss [strain] |
polar_angle | Polar_ellipse_angle as defined in the burst table. Together with polar_ellipse_eccentricity below will fix the ratio of + vs x amplitude. |
polar_ecc | See above |
extraParams | Linked list of extra burst parameters. Pass in NULL (or None in python) to neglect these |
approximant | Burst approximant |
cache | waveform cache structure; use NULL for no caching |
Definition at line 1161 of file LALInferenceBurstRoutines.c.
LALSimBurstWaveformCache * XLALCreateSimBurstWaveformCache | ( | void | ) |
Construct and initialize a waveform cache.
Caches are used to avoid re-computation of waveforms that differ only by simple scaling relations in extrinsic parameters.
Definition at line 1264 of file LALInferenceBurstRoutines.c.
void XLALDestroySimBurstWaveformCache | ( | LALSimBurstWaveformCache * | cache | ) |
Destroy a waveform cache.
Definition at line 1275 of file LALInferenceBurstRoutines.c.
LALSimBurstExtraParam * XLALSimBurstCreateExtraParam | ( | const char * | name, |
double | value | ||
) |
Function that creates the head node of the test GR parameters linked list.
Function that creates the head node of the extra burst parameters linked list.
It is initialized with a single parameter with given name and value
name | Name of first parameter in new linked list |
value | Value of first parameter in new linked list |
Definition at line 1489 of file LALInferenceBurstRoutines.c.
int XLALSimBurstAddExtraParam | ( | LALSimBurstExtraParam ** | parameter, |
const char * | name, | ||
double | value | ||
) |
Function that adds a parameter to the test GR parameters linked list.
Function that adds a parameter to the extra burst parameters linked list.
If the parameter already exists, it throws an error.
parameter | Pointer to the head node of the linked list of parameters |
name | Parameter name |
value | Parameter value |
Definition at line 1509 of file LALInferenceBurstRoutines.c.
int XLALSimBurstSetExtraParam | ( | LALSimBurstExtraParam * | parameter, |
const char * | name, | ||
const double | value | ||
) |
Function that sets the value of the desired parameter in the extra burst parameters linked list to 'value'.
Function that sets the value of the desired parameter in the burst extra parameters linked list to 'value'.
Throws an error if the parameter is not found
parameter | Linked list to be modified |
name | Name of parameter to be modified |
value | New value for parameter |
Definition at line 1548 of file LALInferenceBurstRoutines.c.
double XLALSimBurstGetExtraParam | ( | const LALSimBurstExtraParam * | parameter, |
const char * | name | ||
) |
Function that returns the value of the desired parameters in the extra burst parameters linked list.
Function that returns the value of the desired parameters in the burst extra parameters linked list.
Aborts if the parameter is not found
parameter | Linked list to retrieve from |
name | Name of parameter to be retrieved |
Definition at line 1575 of file LALInferenceBurstRoutines.c.
int XLALSimBurstExtraParamExists | ( | const LALSimBurstExtraParam * | parameter, |
const char * | name | ||
) |
Function that checks whether the requested parameter exists within the burst extra parameters linked list.
Returns true (1) or false (0) accordingly
parameter | Linked list to check |
name | Parameter name to check for |
Definition at line 1601 of file LALInferenceBurstRoutines.c.
int XLALSimBurstPrintExtraParam | ( | FILE * | fp, |
LALSimBurstExtraParam * | parameter | ||
) |
Function that prints the whole test burst extra parameters linked list.
Function that prints the whole burst extra parameters linked list.
fp | FILE pointer to write to |
parameter | Linked list to print |
Definition at line 1612 of file LALInferenceBurstRoutines.c.
void XLALSimBurstDestroyExtraParam | ( | LALSimBurstExtraParam * | parameter | ) |
Function that destroys the whole burst extra params linked list.
Function that destroys the whole extra burst parameters linked list.
parameter | Linked list to destroy |
Definition at line 1634 of file LALInferenceBurstRoutines.c.