LALSimulation  5.4.0.1-fe68b98
LALSimBurst.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008 J. Creighton
3  * Copyright (C) 2008,2015 K. Cannon
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; either version 2 of the License, or (at your
8  * option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with with program; see the file COPYING. If not, write to the Free
17  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18  * 02110-1301 USA
19  */
20 
21 
22 /**
23  * @author Kipp Cannon, Jolien Creighton
24  * @addtogroup LALSimBurst_h Header LALSimBurst.h
25  * @ingroup lalsimulation_burst
26  * @brief Routines to generate burst waveforms.
27  * @details
28  * These routines generate several burst waveforms used in searches for
29  * gravitational waves, including sine-Gaussian waveforms, cosmic string
30  * cusp, kink and kinkkink waveforms, and band- and time-limited white-noise burst waveforms.
31  * Also included are several general-purpose routines to measure the
32  * properties of gravitational wave waveforms like the "hrss" and peak
33  * strain. These are useful for imposing normalizations and other
34  * diagnostic activities.
35  *
36  * \f[
37  * \DeclareMathOperator{\order}{O}
38  * \newcommand{\Msol}{{M_{\Sol}}}
39  * \newcommand{\Sol}{\odot}
40  * \newcommand{\aye}{\mathrm{i}}
41  * \newcommand{\conj}[1]{#1^{*}}
42  * \newcommand{\diff}{\,\mathrm{d}}
43  * \newcommand{\ee}{\mathrm{e}}
44  * \newcommand{\magnitude}[1]{\left|#1\right|}
45  * \newcommand{\mean}[1]{\left\langle#1\right\rangle}
46  * \f]
47  */
48 
49 
50 /*
51  * ============================================================================
52  *
53  * Preamble
54  *
55  * ============================================================================
56  */
57 
58 #ifndef _LALSIMBURST_H
59 #define _LALSIMBURST_H
60 
61 #include <gsl/gsl_rng.h>
62 #include <lal/LALDatatypes.h>
63 
64 #if defined(__cplusplus)
65 extern "C" {
66 #elif 0
67 } /* so that editors will match preceding brace */
68 #endif
69 
70 /*
71  * ============================================================================
72  *
73  * Function Prototypes
74  *
75  * ============================================================================
76  */
77 
78 
79 /** @{ */
80 
81 
83  REAL8TimeSeries **hplus,
84  REAL8TimeSeries **hcross,
85  REAL8 hpeak,
86  REAL8 delta_t
87 );
88 
89 
91  REAL8TimeSeries **hplus,
92  REAL8TimeSeries **hcross,
94  REAL8 frequency,
95  REAL8 bandwidth,
96  REAL8 eccentricity,
97  REAL8 phase,
98  REAL8 int_hdot_squared,
99  REAL8 delta_t,
100  gsl_rng *rng
101 );
102 
103 
105  REAL8TimeSeries **hplus,
106  REAL8TimeSeries **hcross,
107  REAL8 amplitude,
108  REAL8 f_high,
109  REAL8 delta_t
110 );
111 
112 
114  REAL8TimeSeries **hplus,
115  REAL8TimeSeries **hcross,
116  REAL8 amplitude,
117  REAL8 f_high,
118  REAL8 delta_t
119 );
120 
121 
123  REAL8TimeSeries **hplus,
124  REAL8TimeSeries **hcross,
125  REAL8 amplitude,
126  REAL8 delta_t
127 );
128 
129 
131  REAL8TimeSeries **hplus,
132  REAL8TimeSeries **hcross,
133  double source_length,
134  double dE_over_dA,
135  double deltaT
136  );
137 
139  double power,
140  double beta,
141  double r
142  );
143 
145  double duration,
146  double centre_frequency
147 );
148 
149 
151  double Q,
152  double centre_frequency
153 );
154 
155 
157  REAL8TimeSeries **hplus,
158  REAL8TimeSeries **hcross,
159  REAL8 Q,
160  REAL8 centre_frequency,
161  REAL8 hrss,
162  REAL8 eccentricity,
163  REAL8 phase,
164  REAL8 delta_t
165 );
166 
167 
169  REAL8TimeSeries **hplus,
170  REAL8TimeSeries **hcross,
171  REAL8 duration,
172  REAL8 hrss,
173  REAL8 delta_t
174 );
175 
176 int XLALSimBurstImg(
177  REAL8TimeSeries **hplus,
178  REAL8TimeSeries **hcross,
179  REAL8Array *image,
180  double dt,
181  double df,
182  double fstart,
183  double hrss,
184  double deltaT,
185  gsl_rng *rng
186 );
187 
188 
189 int XLALSimUnicorn(
190  REAL8TimeSeries **hplus,
191  REAL8TimeSeries **hcross,
192  double f_min,
193  double f_max,
194  double V,
195  double hrss,
196  double deltaT,
197  gsl_rng *rng
198 );
199 
200 
201 COMPLEX16 XLALMeasureHPeak(const REAL8TimeSeries *, const REAL8TimeSeries *, unsigned *);
206 
207 
208 /** @} */
209 
210 
211 #if 0
212 { /* so that editors will match succeeding brace */
213 #elif defined(__cplusplus)
214 }
215 #endif
216 #endif /*_LALSIMBURST_H */
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
double dt
Definition: bh_ringdown.c:113
double duration
const double Q
double complex COMPLEX16
double REAL8
int XLALSimBurstSineGaussian(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 Q, REAL8 centre_frequency, REAL8 hrss, REAL8 eccentricity, REAL8 phase, REAL8 delta_t)
Generate sine- and cosine-Gaussian waveforms with various polarizations and phases.
Definition: LALSimBurst.c:1080
double XLALSimBurstCherenkov_dE_dA(double power, double beta, double r)
energy calculating function for Cherenkov burst.
Definition: LALSimBurst.c:1819
int XLALSimUnicorn(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, double f_min, double f_max, double V, double hrss, double deltaT, gsl_rng *rng)
Generates a time-frequency unicorn signal.
REAL8 XLALMeasureIntHDotSquaredDT(const COMPLEX16FrequencySeries *)
Computes the integral of the square of a real-valued time series' first derivative from its Fourier t...
Definition: LALSimBurst.c:250
int XLALSimBurstImg(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8Array *image, double dt, double df, double fstart, double hrss, double deltaT, gsl_rng *rng)
Generates a burst injection with a time-frequency structure specified in an image array.
int XLALGenerateStringKinkKink(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 amplitude, REAL8 delta_t)
Generates cosmic string kink waveforms.
Definition: LALSimBurst.c:1619
double XLALSimBurstSineGaussianQ(double duration, double centre_frequency)
Compute the Q of a sine-Gaussian waveform from the duration and centre frequency.
Definition: LALSimBurst.c:975
REAL8 XLALMeasureHrss(const REAL8TimeSeries *, const REAL8TimeSeries *)
Computes "root-sum-square strain", or .
Definition: LALSimBurst.c:218
int XLALGenerateBandAndTimeLimitedWhiteNoiseBurst(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 duration, REAL8 frequency, REAL8 bandwidth, REAL8 eccentricity, REAL8 phase, REAL8 int_hdot_squared, REAL8 delta_t, gsl_rng *rng)
Generate a band- and time-limited white-noise burst waveform with Gaussian envelopes in the time and ...
Definition: LALSimBurst.c:745
double XLALSimBurstSineGaussianDuration(double Q, double centre_frequency)
Compute the duration of a sine-Gaussian waveform from the Q and centre frequency.
Definition: LALSimBurst.c:1007
int XLALSimBurstGaussian(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 duration, REAL8 hrss, REAL8 delta_t)
Generate Gaussian waveforms.
Definition: LALSimBurst.c:1215
REAL8 XLALMeasureEoverRsquared(REAL8TimeSeries *, REAL8TimeSeries *)
Computes the areal energy density carried by a gravitational wave.
Definition: LALSimBurst.c:340
int XLALGenerateImpulseBurst(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 hpeak, REAL8 delta_t)
Genereates a single-sample impulse waveform.
Definition: LALSimBurst.c:419
int XLALGenerateStringKink(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 amplitude, REAL8 f_high, REAL8 delta_t)
Generates cosmic string kink waveforms.
Definition: LALSimBurst.c:1571
COMPLEX16 XLALMeasureHPeak(const REAL8TimeSeries *, const REAL8TimeSeries *, unsigned *)
Return the strain of the sample with the largest magnitude.
Definition: LALSimBurst.c:113
REAL8 XLALMeasureIntS1S2DT(const REAL8TimeSeries *, const REAL8TimeSeries *)
Computes the integral of the product of two time series.
Definition: LALSimBurst.c:164
int XLALGenerateStringCusp(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, REAL8 amplitude, REAL8 f_high, REAL8 delta_t)
Generates cosmic string cusp waveforms.
Definition: LALSimBurst.c:1520
int XLALSimBurstCherenkovRadiation(REAL8TimeSeries **hplus, REAL8TimeSeries **hcross, double source_length, double dE_over_dA, double deltaT)
Generates Cherenkov like waveforms.
Definition: LALSimBurst.c:1683
static const INT4 r
double V
Definition: unicorn.c:25
double hrss
Definition: unicorn.c:21
double f_min
Definition: unicorn.c:22
double deltaT
Definition: unicorn.c:24
double f_max
Definition: unicorn.c:23