LAL  7.5.0.1-bede9b2
LALNoiseModels.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2007 Stas Babak, David Churches, Duncan Brown, Jolien Creighton, B.S. Sathyaprakash, Anand Sengupta, Thomas Cokelaer
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with with program; see the file COPYING. If not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 */
19 
20 #ifndef _LALNOISEMODELS_H
21 #define _LALNOISEMODELS_H
22 
23 #include <math.h>
24 #include <stdio.h>
25 #include <stdlib.h>
26 #include <lal/LALStdlib.h>
27 #include <lal/LALConstants.h>
28 #include <lal/RealFFT.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /**
35  * \defgroup LALNoiseModels_h Header LALNoiseModels.h
36  * \ingroup lal_noisemodels
37  * \author Sathyaprakash, B.S.
38  *
39  * \brief Header file for model noise generation codes.
40  *
41  * ### Synopsis ###
42  *
43  * \code
44  * #include <lal/LALNoiseModels.h>
45  * \endcode
46  *
47  * This header file covers routines that are used in
48  * synthetic background noise expected in various
49  * detectors and signals with random parameters in background noise.
50  *
51  */
52 /** @{ */
53 /**\name Error Codes */ /** @{ */
54 #define LALNOISEMODELSH_ENULL 1 /**< Arguments contained an unexpected null pointer */
55 #define LALNOISEMODELSH_EMEM 2 /**< Memory allocation error */
56 #define LALNOISEMODELSH_ECHOICE 4 /**< Invalid choice for an input parameter */
57 #define LALNOISEMODELSH_EDIV0 8 /**< Division by zero */
58 #define LALNOISEMODELSH_ESIZE 16 /**< Invalid input size */
59 /** @} */
60 
61 /** \cond DONT_DOXYGEN */
62 #define LALNOISEMODELSH_MSGENULL "Arguments contained an unexpected null pointer"
63 #define LALNOISEMODELSH_MSGEMEM "Memory allocation error"
64 #define LALNOISEMODELSH_MSGECHOICE "Invalid choice for an input parameter"
65 #define LALNOISEMODELSH_MSGEDIV0 "Division by zero"
66 #define LALNOISEMODELSH_MSGESIZE "Invalid input size"
67 /** \endcond */
68 
70  {
71  geo,
74  virgo
75  };
76 
77  typedef struct
78  tagAddVectorsIn
79  {
84  }
86 
87 
88  typedef struct
89  tagStatsREAL4VectorOut
90  {
96  }
98 
99 
100 
101  /* Function prototypes */
102 
103  void
105  (
106  LALStatus *status,
107  REAL8Vector *psd,
108  void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f),
109  REAL8 f
110  );
111 
112  void
114  (
115  LALStatus *status,
116  REAL8 *shf,
117  REAL8 x
118  );
119 
120 
121  void
123  (
124  LALStatus *status,
125  REAL8 *shf,
126  REAL8 x
127  );
128 
129  void
131  (
132  LALStatus *status,
133  REAL8 *shf,
134  REAL8 x
135  );
136 
137  REAL8
139  (
140  REAL8 f
141  );
142 
143  void
145  (
146  LALStatus *status,
147  REAL8 *shf,
148  REAL8 x
149  );
150 
151  void
153  (
154  LALStatus *status,
155  REAL8 *shf,
156  REAL8 x
157  );
158 
159  void
161  (
162  LALStatus *status,
163  REAL8 *shf,
164  REAL8 x
165  );
166 
167 
168  void
170  (
171  LALStatus *status,
172  REAL4Vector *noisy,
173  REAL8Vector psd
174  );
175 
176  void
178  (
179  LALStatus *status,
180  REAL4Vector *vector,
181  AddVectorsIn in);
182 
183 
184  void
186  (
187  LALStatus *status,
188  StatsREAL4VectorOut *out,
189  REAL4Vector *vector
190  );
191 
192 
193  REAL8 XLALETBPsd( REAL8 f );
194 
195 /** @} */
196 
197 #ifdef __cplusplus
198 }
199 #endif
200 
201 #endif /* _LALNOISEMODELS_H */
static double f(double theta, double y, double xi)
Definition: XLALMarcumQ.c:258
double REAL8
Double precision real floating-point number (8 bytes).
void LALTAMAPsd(LALStatus *status, REAL8 *shf, REAL8 x)
void LALEGOPsd(LALStatus *status, REAL8 *shf, REAL8 x)
void LALColoredNoise(LALStatus *status, REAL4Vector *noisy, REAL8Vector psd)
This function colors a given white noise input into a colored noise of power spectral density psd.
void LALLIGOIPsd(LALStatus *status, REAL8 *shf, REAL8 x)
REAL8 XLALETBPsd(REAL8 f)
Function to calculate the noise power spectral density of the projected ET-B detector.
Definition: LALETBPsd.c:30
void LALStatsREAL4Vector(LALStatus *status, StatsREAL4VectorOut *out, REAL4Vector *vector)
Module to compute the mean, rms, minimum and maximum of a REAL4Vector.
enumDetector
void LALNoiseSpectralDensity(LALStatus *status, REAL8Vector *psd, void(*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f), REAL8 f)
This function generates an array of size specified in the vector psd, that is psd....
void LALAdvLIGOPsd(LALStatus *status, REAL8 *shf, REAL8 x)
void LALAddVectors(LALStatus *status, REAL4Vector *vector, AddVectorsIn in)
Function to add two vectors with weights.
Definition: LALAddVectors.c:49
void LALVIRGOPsd(LALStatus *status, REAL8 *shf, REAL8 x)
REAL8 XLALLIGOIPsd(REAL8 f)
Calculate the Initial LIGO SRD noise spectral density at given a frequency.
Definition: LALLIGOIPsd.c:50
void LALGEOPsd(LALStatus *status, REAL8 *shf, REAL8 x)
@ geo
@ tama
@ virgo
@ ligo
REAL4Vector * v1
REAL4Vector * v2
LAL status structure, see The LALStatus structure for more details.
Definition: LALDatatypes.h:947
Vector of type REAL4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:145
Vector of type REAL8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:154