LALSimulation  5.4.0.1-fe68b98
LALSimInspiralPrecess.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Chris Pankow, R. O'Shaughnessy
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 /**
21  * @defgroup LALSimInspiralPrecess_h Header LALSimInspiralPrecess.h
22  * @ingroup lalsimulation_inspiral
23  *
24  * @author Chris Pankow
25  *
26  * @brief Functions to take an arbitrary waveform time series and impose the
27  * effects of causing the viewing angle to precess about a cone of L around J.
28  * The cone currently has a constant opening angle.
29  *
30  */
31 
32 #include <lal/Units.h>
33 #include <lal/Date.h>
34 #include <lal/TimeSeries.h>
35 #include <lal/LALSimInspiral.h>
36 #include <lal/LALSimIMR.h>
37 #include <lal/LALDatatypes.h>
38 #include <lal/SphericalHarmonics.h>
39 
40 #include <gsl/gsl_math.h>
41 #include <gsl/gsl_eigen.h>
42 
45 int XLALSimInspiralConstantPrecessionConeWaveformModes(SphHarmTimeSeries** h_lm_tmp, double precess_freq, double a, double phi_precess, double alpha_0, double beta_0);
46 int XLALSimInspiralConstantPrecessionConeWaveform(REAL8TimeSeries** hp, REAL8TimeSeries** hx, SphHarmTimeSeries* h_lm, double precess_freq, double a, double phi_precess, double alpha_0, double beta_0);
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
double complex COMPLEX16
double REAL8
int XLALSimInspiralOrientationMatrixForL2(REAL8 mtx[3][3], COMPLEX16 h22, COMPLEX16 h2m2, COMPLEX16 h21, COMPLEX16 h2m1, COMPLEX16 h20)
Determine the `‘preferred direction’' matrix for the l=2 subspace from the relevant mode decomposed h...
int XLALSimInspiralOrientationMatrixDirection(REAL8 vec[3], REAL8 mtx[3][3])
Determine a direction vector from the orientation matrix.
int XLALSimInspiralPrecessionRotateModes(SphHarmTimeSeries *h_lm, REAL8TimeSeries *alpha, REAL8TimeSeries *beta, REAL8TimeSeries *gam)
Takes in the h_lm spherical harmonic decomposed modes and rotates the modes by Euler angles alpha,...
int XLALSimInspiralPrecessionRotateModesOut(SphHarmTimeSeries **hlm_out, SphHarmTimeSeries *hlm_in, const REAL8TimeSeries *alpha, const REAL8TimeSeries *beta, const REAL8TimeSeries *gam)
Takes in the h_lm spherical harmonic decomposed modes and rotates the modes by Euler angles alpha,...
int XLALSimInspiralConstantPrecessionConeWaveformModes(SphHarmTimeSeries **h_lm_tmp, double precess_freq, double a, double phi_precess, double alpha_0, double beta_0)
Takes in the l=2, abs(m)=2 decomposed modes as a strain time series and imposes the effect of a const...
int XLALSimInspiralConstantPrecessionConeWaveform(REAL8TimeSeries **hp, REAL8TimeSeries **hx, SphHarmTimeSeries *h_lm, double precess_freq, double a, double phi_precess, double alpha_0, double beta_0)
Takes in the spherical harmonic decomposed modes as a strain time series and imposes the effect of a ...
static const INT4 a
double alpha
Definition: sgwb.c:106
Structure to carry a collection of spherical harmonic modes in COMPLEX16 time series.