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
LISAspecifics.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2006 Reinhard Prix
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 * \author Reinhard Prix
22 * \date 2006
23 * \file
24 * \ingroup lalpulsar_general
25 * \brief Header-file defining the API for the LISA-specific functions
26 *
27 */
28
29#ifndef _LISASPECIFICS_H /* Double-include protection. */
30#define _LISASPECIFICS_H
31
32/* C++ protection. */
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37/*---------- exported INCLUDES ----------*/
38#include <lal/LALDetectors.h>
39#include <lal/LALDatatypes.h>
40#include <lal/DetectorStates.h>
41#include <lal/LALComputeAM.h>
42
43/*---------- exported DEFINES ----------*/
44
45#define LISA_TIME_ORIGIN 700000000; /* ad-hoc setting for MLDC 't=0' to GPS for Tue Mar 12 20:26:27 GMT 2002 */
46
47/*---------- exported types ----------*/
48/** Translate TDI arm indices to C-indexing */
49typedef enum tagLISAarmT {
54
55
56/**
57 * The 'detector tensor' for a GW-detector: symmetric 3x3 matrix, storing only the upper triangle.
58 * The coordinate-system is SSB-fixed Cartesian coordinates, in particular EQUATORIAL coords for
59 * Earth-based detectors and ECLIPTIC coords for LISA.
60 */
61typedef struct tagCmplxDetectorTensor {
62 SymmTensor3 re; /**< tensor holding real-parts of all components */
63 SymmTensor3 im; /**< tensor holding imaginary-parts of all components */
65
66/**
67 * Convenience container for precomputed pi f L/c and skyposition vector
68 */
69typedef struct tagFreqSkypos_t {
70 REAL4 Freq; /**< signal frequency */
71 REAL8 skyposV[3]; /**< unit vector pointing to skyposition of source */
72 SymmTensor3 ePlus; /**< ePlus polarization tensor (skypos-dependent) */
73 SymmTensor3 eCross; /**< eCross polarization tensor (skypos-dependent) */
75
76/*---------- exported Global variables ----------*/
77/* empty init-structs for the types defined in here */
78
79/*---------- exported prototypes [API] ----------*/
81int XLALregisterLISAdetectors( const CHAR prefixLetter );
82
84
85int XLALgetLISADetectorTensorLWL( SymmTensor3 *detT, const Detector3Arms detArms, CHAR channelNum );
86int XLALgetLISADetectorTensorRAA( CmplxDetectorTensor *detT, const Detector3Arms detArms, CHAR channelNum, const FreqSkypos_t *freq_skypos );
87
88#ifdef __cplusplus
89}
90#endif
91/* C++ protection. */
92
93#endif /* Double-include protection. */
int XLALregisterLISAdetectors(const CHAR prefixLetter)
Set up the LALDetector structs representing LISA X, Y, Z TDI observables.
Definition: LISAspecifics.c:75
LISAarmT
Translate TDI arm indices to C-indexing.
Definition: LISAspecifics.h:49
@ LISA_ARM2
Definition: LISAspecifics.h:51
@ LISA_ARM1
Definition: LISAspecifics.h:50
@ LISA_ARM3
Definition: LISAspecifics.h:52
int XLALprecomputeLISAarms(DetectorState *detState)
Precompute the arm-geometry for LISA, which is later used for assembling the RAA detector-tensor (whi...
int XLALgetLISADetectorTensorRAA(CmplxDetectorTensor *detT, const Detector3Arms detArms, CHAR channelNum, const FreqSkypos_t *freq_skypos)
BOOLEAN XLALisLISAdetector(const LALDetector *det)
Return true if 'det' is a LISA LALDetector struct.
Definition: LISAspecifics.c:65
int XLALgetLISADetectorTensorLWL(SymmTensor3 *detT, const Detector3Arms detArms, CHAR channelNum)
DetectorArm Detector3Arms[3]
used to allow functions some type/size checking
unsigned char BOOLEAN
double REAL8
char CHAR
float REAL4
The 'detector tensor' for a GW-detector: symmetric 3x3 matrix, storing only the upper triangle.
Definition: LISAspecifics.h:61
SymmTensor3 re
tensor holding real-parts of all components
Definition: LISAspecifics.h:62
SymmTensor3 im
tensor holding imaginary-parts of all components
Definition: LISAspecifics.h:63
State-info about position, velocity and LMST of a detector together with corresponding EarthState.
Convenience container for precomputed pi f L/c and skyposition vector.
Definition: LISAspecifics.h:69
SymmTensor3 eCross
eCross polarization tensor (skypos-dependent)
Definition: LISAspecifics.h:73
SymmTensor3 ePlus
ePlus polarization tensor (skypos-dependent)
Definition: LISAspecifics.h:72
REAL4 Freq
signal frequency
Definition: LISAspecifics.h:70
A symmetric 3x3 tensor (such as detector-tensors), storing only the upper triangle.