LALInspiral 5.0.3.1-eeff03c
InspiralInjectionParams.h
Go to the documentation of this file.
1/* includes */
2#include <stdlib.h>
3#include <math.h>
4#include <stdio.h>
5#include <stdlib.h>
6#include <string.h>
7#include <lal/LALStdlib.h>
8#include <lal/LALConstants.h>
9#include <lal/AVFactories.h>
10#include <lal/SeqFactories.h>
11#include <lal/LIGOMetadataTables.h>
12#include <lal/LIGOMetadataInspiralUtils.h>
13#include <lal/TimeDelay.h>
14#include <lal/DetResponse.h>
15
16#ifdef __cplusplus /* C++ protection. */
17extern "C" {
18#endif
19
20/**
21 * \defgroup InspiralInjectionParams_h Header InspiralInjectionParams.h
22 * \ingroup lalinspiral_inject
23 * \author D. Brown, J. Creighton, S. Fairhurst, G. Jones, E. Messaritaki
24 *
25 * \brief Module for generating randomly distributed inspiral parameters
26 *
27 */
28/** @{ */
29
30/**
31 * enum containing the different ways in which the time step to
32 * injections can be distributed
33 */
34typedef enum
35taglalinspiral_time_distribution
36{
44
45/**
46 * enum containing the different ways in which the loudness of
47 * injections can be distributed
48 */
49typedef enum
50tagLoudnessDistribution
51{
64
65/**
66 * enum containing the different ways in which the sky location of
67 * injections can be distributed
68 */
69typedef enum
70tagSkyLocationDistribution
71{
80
81/**
82 * enum containing the different ways in which the masses of
83 * injections can be distributed
84 */
85typedef enum
86tagMassDistribution
87{
102
103/**
104 * enum containing the different ways in which the inclinations of
105 * injections can be distributed
106 */
107typedef enum
108tagInclDistribution
109{
116
117/**
118 * enum containing the different ways in which the spin magnitudes of
119 * injections can be distributed
120 */
121typedef enum
122tagSpinDistribution
123{
129
130/**
131 * enum for two distinct ways a spin-aligned injection is realized
132 * depending on the waveform family
133 */
134typedef enum
135tagAlignmentType
136{
142
143
145 RandomParams *randParams,
146 LIGOTimeGPS startTime,
147 REAL4 timeWindow );
148
150 RandomParams *randParams,
152 REAL4 distMin,
153 REAL4 distMax );
154
156 RandomParams *randParams);
157
159 REAL8 *rightAscension,
160 REAL8 *declination,
161 REAL8 *distance,
162 RandomParams *randParams);
163
165 RandomParams *randParams,
166 InclDistribution iDist,
167 REAL4 inclinationPeak );
168
170 REAL4 mass1Min,
171 REAL4 mass2Min,
172 REAL4 minTotalMass,
173 REAL4 maxTotalMass,
174 REAL4 mass1Delta,
175 REAL4 mass2Delta,
176 INT4 mass1Pnt,
177 INT4 mass2Pnt,
178 INT4 injNum,
179 INT4 *count
180 );
181
183 SimInspiralTable *inj,
184 REAL4 mass1Fix,
185 REAL4 mass2Fix
186 );
187
189 RandomParams *randParams,
190 MassDistribution mDistr,
191 REAL4 mass1Min,
192 REAL4 mass1Max,
193 REAL4 mass2Min,
194 REAL4 mass2Max,
195 REAL4 minTotalMass,
196 REAL4 maxTotalMass );
197
199 RandomParams *randParams,
200 REAL4 mass1Min,
201 REAL4 mass1Max,
202 REAL4 mass1Mean,
203 REAL4 mass1Std,
204 REAL4 mass2Min,
205 REAL4 mass2Max,
206 REAL4 mass2Mean,
207 REAL4 mass2Std);
208
210 RandomParams *randParams,
211 MassDistribution mDist,
212 REAL4 minTotalMass,
213 REAL4 maxTotalMass,
214 REAL4 minMassRatio,
215 REAL4 maxMassRatio);
216
218 RandomParams *randParams,
219 MassDistribution mDist,
220 REAL4 minTotalMass,
221 REAL4 maxTotalMass,
222 REAL4 minMassRatio,
223 REAL4 maxMassRatio);
224
226 RandomParams *randParams,
227 REAL4 spin1Min,
228 REAL4 spin1Max,
229 REAL4 spin2Min,
230 REAL4 spin2Max,
231 REAL4 kappa1Min,
232 REAL4 kappa1Max,
233 REAL4 abskappa1Min,
234 REAL4 abskappa1Max,
235 AlignmentType alignInj,
236 SpinDistribution distribution,
237 REAL4 spin1Mean,
238 REAL4 spin1Std,
239 REAL4 spin2Mean,
240 REAL4 spin2Std);
241
243 SimInspiralTable *inj,
244 RandomParams *randParams,
245 REAL4 minTotalMass,
246 REAL4 maxTotalMass,
247 SimInspiralTable *nrInjParams
248 );
249
251 SimInspiralTable *inj,
252 const LALDetector *detector,
253 LIGOTimeGPS *endTime,
254 REAL4 *effDist);
255
257 SimInspiralTable *inj );
258
259
262 REAL4 ETMcal,
263 REAL4 pendF,
264 REAL4 pendQ );
265
266/** @} */
267
268#ifdef __cplusplus
269} /* Close C++ protection */
270#endif
void XLALRandomInspiralMilkywayLocation(REAL8 *rightAscension, REAL8 *declination, REAL8 *distance, RandomParams *randParams)
Generates a location within the Milky Way for an inspiral injection.
SpinDistribution
enum containing the different ways in which the spin magnitudes of injections can be distributed
SimInspiralTable * XLALFixedInspiralMasses(SimInspiralTable *inj, REAL4 mass1Fix, REAL4 mass2Fix)
Set masses to fixed values for an inspiral injection.
SimInspiralTable * XLALRandomInspiralSkyLocation(SimInspiralTable *inj, RandomParams *randParams)
Generates a random sky location (right ascension=longitude, delta=latitude) for an inspiral injection...
SimInspiralTable * XLALRandomInspiralSpins(SimInspiralTable *inj, RandomParams *randParams, REAL4 spin1Min, REAL4 spin1Max, REAL4 spin2Min, REAL4 spin2Max, REAL4 kappa1Min, REAL4 kappa1Max, REAL4 abskappa1Min, REAL4 abskappa1Max, AlignmentType alignInj, SpinDistribution distribution, REAL4 spin1Mean, REAL4 spin1Std, REAL4 spin2Mean, REAL4 spin2Std)
Generates spins for an inspiral injection.
LoudnessDistribution
enum containing the different ways in which the loudness of injections can be distributed
MassDistribution
enum containing the different ways in which the masses of injections can be distributed
SimInspiralTable * XLALRandomInspiralDistance(SimInspiralTable *inj, RandomParams *randParams, LoudnessDistribution dDist, REAL4 distMin, REAL4 distMax)
Generates the distance for an inspiral injection, based on the requested distribution and max/min dis...
SimInspiralTable * XLALGaussianInspiralMasses(SimInspiralTable *inj, RandomParams *randParams, REAL4 mass1Min, REAL4 mass1Max, REAL4 mass1Mean, REAL4 mass1Std, REAL4 mass2Min, REAL4 mass2Max, REAL4 mass2Mean, REAL4 mass2Std)
Generates masses for an inspiral injection.
lalinspiral_time_distribution
enum containing the different ways in which the time step to injections can be distributed
SimInspiralTable * XLALRandomInspiralTime(SimInspiralTable *inj, RandomParams *randParams, LIGOTimeGPS startTime, REAL4 timeWindow)
Generates the geocent_end_time for an inspiral injection, based on the given startTime and timeWindow...
COMPLEX8FrequencySeries * generateActuation(COMPLEX8FrequencySeries *resp, REAL4 ETMcal, REAL4 pendF, REAL4 pendQ)
Populate a frequency series with the actuation response.
SimInspiralTable * XLALRandomInspiralTotalMassFraction(SimInspiralTable *inj, RandomParams *randParams, MassDistribution mDist, REAL4 minTotalMass, REAL4 maxTotalMass, REAL4 minMassRatio, REAL4 maxMassRatio)
Generates masses for an inspiral injection.
InclDistribution
enum containing the different ways in which the inclinations of injections can be distributed
AlignmentType
enum for two distinct ways a spin-aligned injection is realized depending on the waveform family
SimInspiralTable * XLALm1m2SquareGridInspiralMasses(SimInspiralTable *inj, REAL4 mass1Min, REAL4 mass2Min, REAL4 minTotalMass, REAL4 maxTotalMass, REAL4 mass1Delta, REAL4 mass2Delta, INT4 mass1Pnt, INT4 mass2Pnt, INT4 injNum, INT4 *count)
Places component masses on a square grid for an inspiral injection.
SimInspiralTable * XLALInspiralSiteTimeAndDist(SimInspiralTable *inj, const LALDetector *detector, LIGOTimeGPS *endTime, REAL4 *effDist)
Set end time and effective distance of an injection for a detector.
SimInspiralTable * XLALRandomNRInjectTotalMass(SimInspiralTable *inj, RandomParams *randParams, REAL4 minTotalMass, REAL4 maxTotalMass, SimInspiralTable *nrInjParams)
Generates random masses for an inspiral injection.
SimInspiralTable * XLALPopulateSimInspiralSiteInfo(SimInspiralTable *inj)
Set the end time and effective distance for all detectors for this injection.
SkyLocationDistribution
enum containing the different ways in which the sky location of injections can be distributed
SimInspiralTable * XLALRandomInspiralMasses(SimInspiralTable *inj, RandomParams *randParams, MassDistribution mDistr, REAL4 mass1Min, REAL4 mass1Max, REAL4 mass2Min, REAL4 mass2Max, REAL4 minTotalMass, REAL4 maxTotalMass)
Generates random masses for an inspiral injection.
SimInspiralTable * XLALRandomInspiralOrientation(SimInspiralTable *inj, RandomParams *randParams, InclDistribution iDist, REAL4 inclinationPeak)
Generates a random orientation (polarization, inclination, coa_phase) for an inspiral injection.
SimInspiralTable * XLALRandomInspiralTotalMassRatio(SimInspiralTable *inj, RandomParams *randParams, MassDistribution mDist, REAL4 minTotalMass, REAL4 maxTotalMass, REAL4 minMassRatio, REAL4 maxMassRatio)
Generates masses for an inspiral injection.
@ gaussianSpinDist
@ starFormationRate
@ distFromSourceFile
@ unknownLoudnessDist
@ uniformLogDistance
@ uniformDistance
@ uniformVolumeSnr
@ uniformDistanceSquared
@ logComponentMass
@ m1m2SquareGrid
@ unknownMassDist
@ uniformTotalMass
@ uniformTotalMassRatio
@ uniformTotalMassFraction
@ massFromNRFile
@ massFromSourceFile
@ uniformComponentMass
@ gaussianMassDist
@ logMassUniformTotalMassRatio
@ LALINSPIRAL_UNIFORM_TIME_DIST
@ LALINSPIRAL_FILE_TIME_DIST
@ LALINSPIRAL_UNKNOWN_TIME_DIST
@ LALINSPIRAL_EXPONENTIAL_TIME_DIST
@ LALINSPIRAL_FIXED_TIME_DIST
@ gaussianInclDist
@ locationFromExttrigFile
@ locationFromSourceFile
@ uniformSkyLocation
@ fixedSkyLocation
@ locationFromIPNFile
@ unknownLocationDist
double REAL8
int32_t INT4
float REAL4