Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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
27extern "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 */
61typedef REAL8 vect2D_t[2];
62/** 3D vector */
63typedef REAL8 vect3D_t[3];
64/** 3x3 matrix, useful for spatial 3D vector operations */
65typedef REAL8 mat33_t[3][3];
66
67/** variable-length list of 2D-vectors */
68typedef 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 */
75
76/** variable-length list of 3D vectors */
77typedef 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 */
84
85
86/** Small Container to hold two 3D vectors: position and velocity */
87typedef struct tagPosVel3D_t {
91
92
93/** Bitfield of different types of detector-motion to use in order to compute the Doppler-metric */
94typedef 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 */
110typedef 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 */
171typedef 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 */
179typedef 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 */
201typedef 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 */
222typedef 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 */
241typedef 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
265int
266XLALDetectorPosVel( 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
274int XLALPtolemaicPosVel( PosVel3D_t *posvel, const LIGOTimeGPS *tGPS );
275
276void XLALequatorialVect2ecliptic( vect3D_t out, const vect3D_t in );
277void XLALeclipticVect2equatorial( vect3D_t out, const vect3D_t in );
278void XLALmatrix33_in_vect3( vect3D_t out, mat33_t mat, const vect3D_t in );
279
281XLALComputeOrbitalDerivatives( UINT4 maxorder, const LIGOTimeGPS *tGPS, const EphemerisData *edat );
282
284
285int XLALParseDetectorMotionString( const CHAR *detMotionString );
286int XLALParseDopplerCoordinateString( const CHAR *coordName );
289
294
295REAL8
296XLALComputePhaseDerivative( REAL8 t, const PulsarDopplerParams *dopplerPoint, DopplerCoordinateID coordID, const EphemerisData *edat, const LALDetector *site, BOOLEAN includeRoemer );
297
298
299// destructor for vect3Dlist_t type
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.
float data[BLOCKSIZE]
Definition: hwinject.c:360
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