LALPulsar  6.1.0.1-89842e6
UniversalDopplerMetric.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 Arunava Mukherjee
3  * Copyright (C) 2012--2015 Karl Wette
4  * Copyright (C) 2008, 2009 Reinhard Prix
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with with program; see the file COPYING. If not, write to the
18  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301 USA
20  */
21 
22 #ifndef _UNIVERSALDOPPLERMETRIC_H /* Double-include protection. */
23 #define _UNIVERSALDOPPLERMETRIC_H
24 
25 /* C++ protection. */
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /**
31  * \defgroup UniversalDopplerMetric_h Header UniversalDopplerMetric.h
32  * \ingroup lalpulsar_metric
33  * \author Reinhard Prix, Karl Wette
34  *
35  * Function to compute the full F-statistic metric, including
36  * antenna-pattern functions from multi-detector, derived in \cite Prix07 .
37  *
38  */
39 /** @{ */
40 
41 /*---------- INCLUDES ----------*/
42 #include <math.h>
43 
44 /* gsl includes */
45 #include <gsl/gsl_block.h>
46 #include <gsl/gsl_vector.h>
47 #include <gsl/gsl_matrix.h>
48 #include <gsl/gsl_linalg.h>
49 #include <gsl/gsl_blas.h>
50 #include <gsl/gsl_integration.h>
51 
52 #include <lal/LALDatatypes.h>
53 #include <lal/LALBarycenter.h>
54 #include <lal/XLALGSL.h>
55 #include <lal/DetectorStates.h>
56 #include <lal/SFTfileIO.h>
57 #include <lal/Segments.h>
58 
59 /*---------- exported types ----------*/
60 /** 2D vector */
61 typedef REAL8 vect2D_t[2];
62 /** 3D vector */
63 typedef REAL8 vect3D_t[3];
64 /** 3x3 matrix, useful for spatial 3D vector operations */
65 typedef REAL8 mat33_t[3][3];
66 
67 /** variable-length list of 2D-vectors */
68 typedef struct tagvect2Dlist_t {
69 #ifdef SWIG // SWIG interface directives
70  SWIGLAL( ARRAY_2D_FIXED( vect2Dlist_t, REAL8, vect2D_t, data, UINT4, length ) );
71 #endif // SWIG
72  UINT4 length; /**< number of elements */
73  vect2D_t *data; /**< array of 2D vectors */
74 } vect2Dlist_t;
75 
76 /** variable-length list of 3D vectors */
77 typedef struct tagvect3Dlist_t {
78 #ifdef SWIG // SWIG interface directives
79  SWIGLAL( ARRAY_2D_FIXED( vect3Dlist_t, REAL8, vect3D_t, data, UINT4, length ) );
80 #endif // SWIG
81  UINT4 length; /**< number of elements */
82  vect3D_t *data; /**< array of 3D vectors */
83 } vect3Dlist_t;
84 
85 
86 /** Small Container to hold two 3D vectors: position and velocity */
87 typedef struct tagPosVel3D_t {
90 } PosVel3D_t;
91 
92 
93 /** Bitfield of different types of detector-motion to use in order to compute the Doppler-metric */
94 typedef enum tagDetectorMotionType {
95  DETMOTION_SPIN = 0x01, /**< Full spin motion */
96  DETMOTION_SPINZ = 0x02, /**< Ecliptic-Z component of spin motion only */
97  DETMOTION_SPINXY = 0x03, /**< Ecliptic-X+Y components of spin motion only */
98  DETMOTION_MASKSPIN = 0x0F, /**< Mask for spin motion bits */
99 
100  DETMOTION_ORBIT = 0x10, /**< Ephemeris-based orbital motion */
101  DETMOTION_PTOLEORBIT = 0x20, /**< Ptolemaic (circular) orbital motion */
102  DETMOTION_MASKORBIT = 0xF0, /**< Mask for orbital motion bits */
104 
105 
106 /**
107  * enum listing symbolic 'names' for all Doppler Coordinates
108  * supported by the metric codes in FstatMetric
109  */
110 typedef enum tagDopplerCoordinateID {
111  DOPPLERCOORD_NONE = -1, /**< No Doppler component */
112 
113  DOPPLERCOORD_FREQ, /**< Frequency [Units: Hz]. */
114  DOPPLERCOORD_F1DOT, /**< First spindown [Units: Hz/s]. */
115  DOPPLERCOORD_F2DOT, /**< Second spindown [Units: Hz/s^2]. */
116  DOPPLERCOORD_F3DOT, /**< Third spindown [Units: Hz/s^3]. */
117  DOPPLERCOORD_F4DOT, /**< Fourth spindown [Units: Hz/s^4]. */
118 
120 
121  DOPPLERCOORD_GC_NU0, /**< Global correlation frequency [Units: Hz]. Activates 'reduced' detector position. */
122  DOPPLERCOORD_GC_NU1, /**< Global correlation first spindown [Units: Hz/s]. Activates 'reduced' detector position. */
123  DOPPLERCOORD_GC_NU2, /**< Global correlation second spindown [Units: Hz/s^2]. Activates 'reduced' detector position. */
124  DOPPLERCOORD_GC_NU3, /**< Global correlation third spindown [Units: Hz/s^3]. Activates 'reduced' detector position. */
125  DOPPLERCOORD_GC_NU4, /**< Global correlation fourth spindown [Units: Hz/s^4]. Activates 'reduced' detector position. */
126 
127  DOPPLERCOORD_ALPHA, /**< Right ascension [Units: radians]. Uses 'reduced' detector position. */
128  DOPPLERCOORD_DELTA, /**< Declination [Units: radians]. Uses 'reduced' detector position. */
129 
130  DOPPLERCOORD_N2X_EQU, /**< X component of contrained sky position in equatorial coordinates [Units: none]. Uses 'reduced' detector position. */
131  DOPPLERCOORD_N2Y_EQU, /**< Y component of contrained sky position in equatorial coordinates [Units: none]. Uses 'reduced' detector position. */
132 
133  DOPPLERCOORD_N2X_ECL, /**< X component of contrained sky position in ecliptic coordinates [Units: none]. Uses 'reduced' detector position. */
134  DOPPLERCOORD_N2Y_ECL, /**< Y component of contrained sky position in ecliptic coordinates [Units: none]. Uses 'reduced' detector position. */
135 
136  DOPPLERCOORD_N3X_EQU, /**< X component of unconstrained super-sky position in equatorial coordinates [Units: none]. */
137  DOPPLERCOORD_N3Y_EQU, /**< Y component of unconstrained super-sky position in equatorial coordinates [Units: none]. */
138  DOPPLERCOORD_N3Z_EQU, /**< Z component of unconstrained super-sky position in equatorial coordinates [Units: none]. */
139 
140  DOPPLERCOORD_N3X_ECL, /**< X component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
141  DOPPLERCOORD_N3Y_ECL, /**< Y component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
142  DOPPLERCOORD_N3Z_ECL, /**< Z component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
143 
144  DOPPLERCOORD_N3SX_EQU, /**< X spin-component of unconstrained super-sky position in equatorial coordinates [Units: none]. */
145  DOPPLERCOORD_N3SY_EQU, /**< Y spin-component of unconstrained super-sky position in equatorial coordinates [Units: none]. */
146 
147  DOPPLERCOORD_N3OX_ECL, /**< X orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
148  DOPPLERCOORD_N3OY_ECL, /**< Y orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
149  DOPPLERCOORD_N3OZ_ECL, /**< Z orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none]. */
150 
151  DOPPLERCOORD_ASINI, /**< Projected semimajor axis of binary orbit in small-eccentricy limit (ELL1 model) [Units: light seconds]. */
152  DOPPLERCOORD_TASC, /**< Time of ascension (neutron star crosses line of nodes moving away from observer) for binary orbit (ELL1 model) [Units: GPS seconds]. */
153  DOPPLERCOORD_PORB, /**< Period of binary orbit (ELL1 model) [Units: s]. */
154  DOPPLERCOORD_KAPPA, /**< Lagrange parameter 'kappa = ecc * cos(argp)', ('ecc' = eccentricity, 'argp' = argument of periapse) of binary orbit (ELL1 model) [Units: none] */
155  DOPPLERCOORD_ETA, /**< Lagrange parameter 'eta = ecc * sin(argp) of binary orbit (ELL1 model) [Units: none] */
156 
157  DOPPLERCOORD_VP, /**< Rescaled (by asini) differential-coordinate 'dvp = asini * dOMEGA', ('OMEGA' = 2 * pi/'porb') of binary orbit (ELL1 model) [Units: (light second)/(GPS second)]. */
158  DOPPLERCOORD_DASC, /**< Distance traversed on the arc of binary orbit (ELL1 model) 'dasc = 2 * pi * (ap/porb) * tasc' [Units: light second]. */
159  DOPPLERCOORD_KAPPAP, /**< Rescaled (by asini) differential-coordinate 'dkappap = asini * dkappa' [Units: light seconds]. */
160  DOPPLERCOORD_ETAP, /**< Rescaled (by asini) differential-coordinate 'detap = asini * deta' [Units: light seconds]. */
161 
162 
165 
166 #define DOPPLERMETRIC_MAX_DIM 60 /**< should be large enough for a long time ... */
167 /**
168  * type describing a Doppler coordinate system:
169  * lists the number of dimensions and the symbolic names of the coordinates.
170  */
171 typedef struct tagDopplerCoordinateSystem {
172  UINT4 dim; /**< number of dimensions covered */
173  DopplerCoordinateID coordIDs[DOPPLERMETRIC_MAX_DIM]; /**< coordinate 'names' */
175 
176 /**
177  * meta-info specifying a Doppler-metric
178  */
179 typedef struct tagDopplerMetricParams {
180  DopplerCoordinateSystem coordSys; /**< number of dimensions and coordinate-IDs of Doppler-metric */
181  DetectorMotionType detMotionType; /**< the type of detector-motion assumed: full spin+orbit, pure orbital, Ptole, ... */
182 
183  LALSegList segmentList; /**< segment list: Nseg segments of the form (startGPS endGPS numSFTs) */
184  MultiLALDetector multiIFO; /**< detectors to compute metric for */
185  MultiNoiseFloor multiNoiseFloor; /**< and associated per-detector noise-floors to be used for weighting. Use length=0 for unit weights */
186 
187  PulsarParams signalParams; /**< parameter-space point to compute metric for (doppler + amplitudes) */
188  INT4 projectCoord; /**< project metric onto subspace orthogonal to this axis (-1 = none, 0 = 1st coordinate, etc) */
189 
190  BOOLEAN approxPhase; /**< use an approximate phase-model, neglecting Roemer delay in spindown coordinates */
192 
193 
194 
195 /**
196  * Struct to hold the 'atoms', ie weighted phase-derivative averages like \f$ \langle a^2 \partial_i \phi \partial_j \phi\rangle> \f$
197  * from which the F-metric is computed, but also the full Fisher-matrix. The noise-weighted average is defined as
198  * \f$ \langle Q\rangle \equiv \frac{1}{T} \, \sum_X w^X\, \int_0^T Q\, dt \f$ , where \f$ w^X \f$ is the noise-weight for detector X,
199  * and \f$ T \f$ is the observation time, see \cite Prix07 for details.
200  */
201 typedef struct tagFmetricAtoms_t {
202  REAL8 a_a; /**< \f$ \langle a^2 \rangle = A \f$ */
203  REAL8 a_b; /**< \f$ \langle a b \rangle = C \f$ */
204  REAL8 b_b; /**< \f$ \langle b^2 \rangle = B \f$ */
205 
206  gsl_vector *a_a_i; /**< \f$ \langle a^2 \, \partial_i\phi \rangle \f$ */
207  gsl_vector *a_b_i; /**< \f$ \langle a\, b \, \partial_i\phi \rangle \f$ */
208  gsl_vector *b_b_i; /**< \f$ \langle b^2 \, \partial_i\phi \rangle \f$ */
209 
210  gsl_matrix *a_a_i_j; /**< \f$ \langle a^2 \, \partial_i\phi \, \partial_j\phi \rangle \f$ */
211  gsl_matrix *a_b_i_j; /**< \f$ \langle a\,b \, \partial_i\phi \, \partial_j\phi \rangle \f$ */
212  gsl_matrix *b_b_i_j; /**< \f$ \langle b^2 \, \partial_i\phi \, \partial_j\phi \rangle \f$ */
213 
214  double maxrelerr; /**< estimate for largest relative error in metric component integrations */
216 
217 
218 /**
219  * Struct to hold the output of XLALComputeDopplerFstatMetric(), including meta-info on the number of
220  * dimensions, the coordinate-system and type of metric.
221  */
222 typedef struct tagDopplerFstatMetric {
223  DopplerMetricParams meta; /**< "meta-info" describing/specifying the type of Doppler metric */
224 
225  gsl_matrix *gF_ij; /**< full F-statistic metric gF_ij, including antenna-pattern effects (see \cite Prix07) */
226  gsl_matrix *gFav_ij; /**< 'average' Fstat-metric */
227  gsl_matrix *m1_ij, *m2_ij, *m3_ij; /**< Fstat-metric sub components */
228 
229  gsl_matrix *Fisher_ab; /**< Full 4+n dimensional Fisher matrix, ie amplitude + Doppler space */
230 
231  REAL8 rho2; /**< signal SNR rho^2 = A^mu M_mu_nu A^nu */
232 
233  double maxrelerr; /**< estimate for largest relative error in Fmetric component integrations */
235 
236 
237 /**
238  * Struct to hold the output of XLALComputeDopplerPhaseMetric(), including meta-info on the number of
239  * dimensions, the coordinate-system and type of metric.
240  */
241 typedef struct tagDopplerPhaseMetric {
242  DopplerMetricParams meta; /**< "meta-info" describing/specifying the type of Doppler metric */
243 
244  gsl_matrix *g_ij; /**< symmetric matrix holding the phase-metric, averaged over segments */
245 
246  double maxrelerr; /**< estimate for largest relative error in phase-metric component integrations */
248 
249 
250 /*---------- Global variables ----------*/
251 
252 /*---------- exported prototypes [API] ----------*/
255 
258 
261  const EphemerisData *edat
262  );
263 
264 
265 int
266 XLALDetectorPosVel( PosVel3D_t *spin_posvel,
267  PosVel3D_t *orbit_posvel,
268  const LIGOTimeGPS *tGPS,
269  const LALDetector *site,
270  const EphemerisData *edat,
271  DetectorMotionType special
272  );
273 
274 int XLALPtolemaicPosVel( PosVel3D_t *posvel, const LIGOTimeGPS *tGPS );
275 
276 void XLALequatorialVect2ecliptic( vect3D_t out, const vect3D_t in );
277 void XLALeclipticVect2equatorial( vect3D_t out, const vect3D_t in );
278 void XLALmatrix33_in_vect3( vect3D_t out, mat33_t mat, const vect3D_t in );
279 
280 vect3Dlist_t *
281 XLALComputeOrbitalDerivatives( UINT4 maxorder, const LIGOTimeGPS *tGPS, const EphemerisData *edat );
282 
284 
285 int XLALParseDetectorMotionString( const CHAR *detMotionString );
286 int XLALParseDopplerCoordinateString( const CHAR *coordName );
289 
294 
295 REAL8
296 XLALComputePhaseDerivative( REAL8 t, const PulsarDopplerParams *dopplerPoint, DopplerCoordinateID coordID, const EphemerisData *edat, const LALDetector *site, BOOLEAN includeRoemer );
297 
298 
299 // destructor for vect3Dlist_t type
300 void XLALDestroyVect3Dlist( vect3Dlist_t *list );
301 
302 /** @} */
303 
304 #ifdef __cplusplus
305 }
306 #endif
307 /* C++ protection. */
308 
309 #endif /* Double-include protection. */
unsigned char BOOLEAN
double REAL8
char CHAR
uint32_t UINT4
int32_t INT4
int XLALDetectorPosVel(PosVel3D_t *spin_posvel, PosVel3D_t *orbit_posvel, const LIGOTimeGPS *tGPS, const LALDetector *site, const EphemerisData *edat, DetectorMotionType detMotionType)
Given a GPS time and detector, return the current position (and velocity) of the detector.
int XLALDopplerCoordinateNames2System(DopplerCoordinateSystem *coordSys, const LALStringVector *coordNames)
Given a LALStringVector of coordinate-names, parse them into a 'DopplerCoordinateSystem',...
const CHAR * XLALDetectorMotionName(DetectorMotionType detMotionType)
Provide a pointer to a static string containing the DopplerCoordinate-name cooresponding to the enum ...
REAL8 vect3D_t[3]
3D vector
DopplerCoordinateID
enum listing symbolic 'names' for all Doppler Coordinates supported by the metric codes in FstatMetri...
CHAR * XLALDopplerCoordinateHelpAll(void)
Return a string (allocated here) containing a full name - helpstring listing for all doppler-coordina...
void XLALDestroyFmetricAtoms(FmetricAtoms_t *atoms)
Free a FmetricAtoms_t structure, allowing any pointers to be NULL.
DetectorMotionType
Bitfield of different types of detector-motion to use in order to compute the Doppler-metric.
void XLALeclipticVect2equatorial(vect3D_t out, const vect3D_t in)
Convert 3-D vector from ecliptic into equatorial coordinates.
REAL8 XLALComputePhaseDerivative(REAL8 t, const PulsarDopplerParams *dopplerPoint, DopplerCoordinateID coordID, const EphemerisData *edat, const LALDetector *site, BOOLEAN includeRoemer)
FmetricAtoms_t * XLALComputeAtomsForFmetric(const DopplerMetricParams *metricParams, const EphemerisData *edat)
Function to the compute the FmetricAtoms_t, from which the F-metric and Fisher-matrix can be computed...
int XLALFindDopplerCoordinateInSystem(const DopplerCoordinateSystem *coordSys, const DopplerCoordinateID coordID)
Given a coordinate ID 'coordID', return its dimension within the given coordinate system 'coordSys',...
void XLALDestroyDopplerFstatMetric(DopplerFstatMetric *metric)
Free a DopplerFstatMetric structure.
const CHAR * XLALDopplerCoordinateHelp(DopplerCoordinateID coordID)
Provide a pointer to a static string containing the a descriptive 'help-string' describing the coordi...
REAL8 vect2D_t[2]
2D vector
void XLALmatrix33_in_vect3(vect3D_t out, mat33_t mat, const vect3D_t in)
compute matrix product mat .
void XLALDestroyDopplerPhaseMetric(DopplerPhaseMetric *metric)
Free a DopplerPhaseMetric structure.
REAL8 mat33_t[3][3]
3x3 matrix, useful for spatial 3D vector operations
const CHAR * XLALDopplerCoordinateName(DopplerCoordinateID coordID)
Provide a pointer to a static string containing the DopplerCoordinate-name cooresponding to the enum ...
#define DOPPLERMETRIC_MAX_DIM
should be large enough for a long time ...
void XLALequatorialVect2ecliptic(vect3D_t out, const vect3D_t in)
Convert 3-D vector from equatorial into ecliptic coordinates.
vect3Dlist_t * XLALComputeOrbitalDerivatives(UINT4 maxorder, const LIGOTimeGPS *tGPS, const EphemerisData *edat)
Compute time-derivatives up to 'maxorder' of the Earths' orbital position vector .
int XLALParseDetectorMotionString(const CHAR *detMotionString)
Parse a detector-motion type string into the corresponding enum-number,.
DopplerFstatMetric * XLALComputeDopplerFstatMetric(const DopplerMetricParams *metricParams, const EphemerisData *edat)
Calculate the general (single-segment coherent, or multi-segment semi-coherent) full (multi-IFO) Fsta...
int XLALPtolemaicPosVel(PosVel3D_t *posvel, const LIGOTimeGPS *tGPS)
Compute position and velocity assuming a purely "Ptolemaic" orbital motion (i.e.
void XLALDestroyVect3Dlist(vect3Dlist_t *list)
int XLALParseDopplerCoordinateString(const CHAR *coordName)
Parse a DopplerCoordinate-name into the corresponding DopplerCoordinateID.
DopplerPhaseMetric * XLALComputeDopplerPhaseMetric(const DopplerMetricParams *metricParams, const EphemerisData *edat)
Calculate an approximate "phase-metric" with the specified parameters.
@ DOPPLERCOORD_N3SX_EQU
X spin-component of unconstrained super-sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_N2X_ECL
X component of contrained sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_ETA
Lagrange parameter 'eta = ecc * sin(argp) of binary orbit (ELL1 model) [Units: none].
@ DOPPLERCOORD_N3X_ECL
X component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_KAPPA
Lagrange parameter 'kappa = ecc * cos(argp)', ('ecc' = eccentricity, 'argp' = argument of periapse) o...
@ DOPPLERCOORD_TASC
Time of ascension (neutron star crosses line of nodes moving away from observer) for binary orbit (EL...
@ DOPPLERCOORD_N3X_EQU
X component of unconstrained super-sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_N3OY_ECL
Y orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_ETAP
Rescaled (by asini) differential-coordinate 'detap = asini * deta' [Units: light seconds].
@ DOPPLERCOORD_KAPPAP
Rescaled (by asini) differential-coordinate 'dkappap = asini * dkappa' [Units: light seconds].
@ DOPPLERCOORD_ASINI
Projected semimajor axis of binary orbit in small-eccentricy limit (ELL1 model) [Units: light seconds...
@ DOPPLERCOORD_N3Z_EQU
Z component of unconstrained super-sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_LASTFDOT
@ DOPPLERCOORD_GC_NU4
Global correlation fourth spindown [Units: Hz/s^4].
@ DOPPLERCOORD_F2DOT
Second spindown [Units: Hz/s^2].
@ DOPPLERCOORD_DASC
Distance traversed on the arc of binary orbit (ELL1 model) 'dasc = 2 * pi * (ap/porb) * tasc' [Units:...
@ DOPPLERCOORD_N2X_EQU
X component of contrained sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_DELTA
Declination [Units: radians].
@ DOPPLERCOORD_N2Y_ECL
Y component of contrained sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_LAST
@ DOPPLERCOORD_GC_NU1
Global correlation first spindown [Units: Hz/s].
@ DOPPLERCOORD_GC_NU0
Global correlation frequency [Units: Hz].
@ DOPPLERCOORD_N3OZ_ECL
Z orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_N3Y_EQU
Y component of unconstrained super-sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_F1DOT
First spindown [Units: Hz/s].
@ DOPPLERCOORD_N2Y_EQU
Y component of contrained sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_F4DOT
Fourth spindown [Units: Hz/s^4].
@ DOPPLERCOORD_GC_NU2
Global correlation second spindown [Units: Hz/s^2].
@ DOPPLERCOORD_GC_NU3
Global correlation third spindown [Units: Hz/s^3].
@ DOPPLERCOORD_ALPHA
Right ascension [Units: radians].
@ DOPPLERCOORD_NONE
No Doppler component.
@ DOPPLERCOORD_VP
Rescaled (by asini) differential-coordinate 'dvp = asini * dOMEGA', ('OMEGA' = 2 * pi/'porb') of bina...
@ DOPPLERCOORD_N3Y_ECL
Y component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_PORB
Period of binary orbit (ELL1 model) [Units: s].
@ DOPPLERCOORD_F3DOT
Third spindown [Units: Hz/s^3].
@ DOPPLERCOORD_N3OX_ECL
X orbit-component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_N3Z_ECL
Z component of unconstrained super-sky position in ecliptic coordinates [Units: none].
@ DOPPLERCOORD_N3SY_EQU
Y spin-component of unconstrained super-sky position in equatorial coordinates [Units: none].
@ DOPPLERCOORD_FREQ
Frequency [Units: Hz].
@ DETMOTION_SPIN
Full spin motion.
@ DETMOTION_MASKSPIN
Mask for spin motion bits.
@ DETMOTION_PTOLEORBIT
Ptolemaic (circular) orbital motion.
@ DETMOTION_SPINXY
Ecliptic-X+Y components of spin motion only.
@ DETMOTION_MASKORBIT
Mask for orbital motion bits.
@ DETMOTION_SPINZ
Ecliptic-Z component of spin motion only.
@ DETMOTION_ORBIT
Ephemeris-based orbital motion.
type describing a Doppler coordinate system: lists the number of dimensions and the symbolic names of...
UINT4 dim
number of dimensions covered
Struct to hold the output of XLALComputeDopplerFstatMetric(), including meta-info on the number of di...
double maxrelerr
estimate for largest relative error in Fmetric component integrations
gsl_matrix * gFav_ij
'average' Fstat-metric
gsl_matrix * gF_ij
full F-statistic metric gF_ij, including antenna-pattern effects (see )
DopplerMetricParams meta
"meta-info" describing/specifying the type of Doppler metric
REAL8 rho2
signal SNR rho^2 = A^mu M_mu_nu A^nu
gsl_matrix * Fisher_ab
Full 4+n dimensional Fisher matrix, ie amplitude + Doppler space.
meta-info specifying a Doppler-metric
MultiLALDetector multiIFO
detectors to compute metric for
DetectorMotionType detMotionType
the type of detector-motion assumed: full spin+orbit, pure orbital, Ptole, ...
BOOLEAN approxPhase
use an approximate phase-model, neglecting Roemer delay in spindown coordinates
PulsarParams signalParams
parameter-space point to compute metric for (doppler + amplitudes)
INT4 projectCoord
project metric onto subspace orthogonal to this axis (-1 = none, 0 = 1st coordinate,...
LALSegList segmentList
segment list: Nseg segments of the form (startGPS endGPS numSFTs)
MultiNoiseFloor multiNoiseFloor
and associated per-detector noise-floors to be used for weighting.
DopplerCoordinateSystem coordSys
number of dimensions and coordinate-IDs of Doppler-metric
Struct to hold the output of XLALComputeDopplerPhaseMetric(), including meta-info on the number of di...
double maxrelerr
estimate for largest relative error in phase-metric component integrations
gsl_matrix * g_ij
symmetric matrix holding the phase-metric, averaged over segments
DopplerMetricParams meta
"meta-info" describing/specifying the type of Doppler metric
This structure contains all information about the center-of-mass positions of the Earth and Sun,...
Struct to hold the 'atoms', ie weighted phase-derivative averages like from which the F-metric is co...
double maxrelerr
estimate for largest relative error in metric component integrations
array of detectors definitions 'LALDetector'
array of detector-specific 'noise floors' (ie PSD values), assumed constant over the frequency-band o...
Small Container to hold two 3D vectors: position and velocity.
Type containing the 'Doppler-parameters' affecting the time-evolution of the phase.
Type defining the parameters of a pulsar-source of CW Gravitational waves.
variable-length list of 2D-vectors
UINT4 length
number of elements
vect2D_t * data
array of 2D vectors
variable-length list of 3D vectors
vect3D_t * data
array of 3D vectors
UINT4 length
number of elements