ComplexAM.h File Reference

#include <math.h>
#include <lal/DetResponse.h>
#include <lal/DetectorSite.h>
#include <lal/ComputeFstat.h>
#include "LALBarycenter.h"

Include dependency graph for ComplexAM.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CmplxDetectorTensor
 The 'detector tensor' for a GW-detector: symmetric 3x3 matrix, storing only the upper triangle. More...
struct  FreqSkypos_t
 Convenience container for precomputed pi f L/c and skyposition vector. More...

Defines

#define COMPLEXAMC_ENULL   1
#define COMPLEXAMC_ENONULL   2
#define COMPLEXAMC_EINPUT   3
#define COMPLEXAMC_EMEM   4
#define COMPLEXAMC_EXLAL   5
#define COMPLEXAMC_EIEEE   6
#define COMPLEXAMC_ERAALISA   7
#define COMPLEXAMC_MSGENULL   "Arguments contained an unexpected null pointer"
#define COMPLEXAMC_MSGENONULL   "Output pointer is non-NULL"
#define COMPLEXAMC_MSGEINPUT   "Invalid input"
#define COMPLEXAMC_MSGEMEM   "Out of memory. Bad."
#define COMPLEXAMC_MSGEXLAL   "XLAL function call failed"
#define COMPLEXAMC_MSGEIEEE   "Floating point failure"
#define COMPLEXAMC_MSGERAALISA   "RAA response only available for LISA"

Functions

 NRCSID (COMPLEXAMH,"$Id: ComplexAM.h")
void LALGetCmplxAMCoeffs (LALStatus *, CmplxAMCoeffs *coeffs, const DetectorStateSeries *DetectorStates, const FreqSkypos_t *freq_skypos)
 Compute the 'amplitude coefficients' $a(t)\sin\zeta$, $b(t)\sin\zeta$ as defined in JKS98 for a series of timestamps.
void LALGetMultiCmplxAMCoeffs (LALStatus *, MultiCmplxAMCoeffs **multiAMcoef, const MultiDetectorStateSeries *multiDetStates, PulsarDopplerParams doppler)
 Multi-IFO version of LALGetCmplxAMCoeffs().
int XLALWeighMultiCmplxAMCoeffs (MultiCmplxAMCoeffs *multiAMcoef, const MultiNoiseWeights *multiWeights)
 Multiply AM-coeffs $a_{X\alpha}, b_{X\alpha}$ by weights $\sqrt(w_{X\alpha})$ and compute the resulting $A_d, B_d, C_d, E_d$ by simply *SUMMING* them, i.e.
void XLALDestroyMultiCmplxAMCoeffs (MultiCmplxAMCoeffs *multiAMcoef)
 Destroy a MultiCmplxAMCoeffs structure.


Define Documentation

#define COMPLEXAMC_ENULL   1

Definition at line 57 of file ComplexAM.h.

#define COMPLEXAMC_ENONULL   2

Definition at line 58 of file ComplexAM.h.

#define COMPLEXAMC_EINPUT   3

Definition at line 59 of file ComplexAM.h.

#define COMPLEXAMC_EMEM   4

Definition at line 60 of file ComplexAM.h.

#define COMPLEXAMC_EXLAL   5

Definition at line 61 of file ComplexAM.h.

#define COMPLEXAMC_EIEEE   6

Definition at line 62 of file ComplexAM.h.

#define COMPLEXAMC_ERAALISA   7

Definition at line 63 of file ComplexAM.h.

#define COMPLEXAMC_MSGENULL   "Arguments contained an unexpected null pointer"

Definition at line 65 of file ComplexAM.h.

#define COMPLEXAMC_MSGENONULL   "Output pointer is non-NULL"

Definition at line 66 of file ComplexAM.h.

#define COMPLEXAMC_MSGEINPUT   "Invalid input"

Definition at line 67 of file ComplexAM.h.

#define COMPLEXAMC_MSGEMEM   "Out of memory. Bad."

Definition at line 68 of file ComplexAM.h.

#define COMPLEXAMC_MSGEXLAL   "XLAL function call failed"

Definition at line 69 of file ComplexAM.h.

#define COMPLEXAMC_MSGEIEEE   "Floating point failure"

Definition at line 70 of file ComplexAM.h.

#define COMPLEXAMC_MSGERAALISA   "RAA response only available for LISA"

Definition at line 71 of file ComplexAM.h.


Function Documentation

NRCSID ( COMPLEXAMH  ,
"$Id: ComplexAM.h  
)

void LALGetCmplxAMCoeffs ( LALStatus status,
CmplxAMCoeffs coeffs,
const DetectorStateSeries DetectorStates,
const FreqSkypos_t freq_skypos 
)

Compute the 'amplitude coefficients' $a(t)\sin\zeta$, $b(t)\sin\zeta$ as defined in JKS98 for a series of timestamps.

The input consists of the DetectorState-timeseries, which contains the detector-info and the LMST's corresponding to the different times.

In order to allow re-using the output-structure AMCoeffs for subsequent calls, we require the REAL4Vectors a and b to be allocated already and to have the same length as the DetectoStates-timeseries.

Note:
This is an alternative implementation to both LALComputeAM() and LALGetAMCoeffs(), which uses the geometrical definition of $a\sin\zeta$ and $b\sin\zeta$ as detector response coefficients in a preferred polarization basis. (It is thereby more general than the JKS expressions and could be used e.g., with the response tensor of a bar detector with no further modification needed.)

THIS VERSION IS FOR THE CASE WHERE THE DETECTOR TENSOR IS COMPLEX AND THE DESCRIPTION NEEDS TO BE MODIFIED!

Parameters:
coeffs  [out] amplitude-coeffs {a(f_0,t_i), b(f_0,t_i)}
DetectorStates  timeseries of detector states
freq_skypos  Frequency and skyposition information

Definition at line 78 of file ComplexAM.c.

void LALGetMultiCmplxAMCoeffs ( LALStatus status,
MultiCmplxAMCoeffs **  multiAMcoef,
const MultiDetectorStateSeries multiDetStates,
PulsarDopplerParams  doppler 
)

Multi-IFO version of LALGetCmplxAMCoeffs().

Get all antenna-pattern coefficients for all input detector-series.

NOTE: contrary to LALGetCmplxAMCoeffs(), this functions *allocates* the output-vector, use XLALDestroyMultiCmplxAMCoeffs() to free this.

Parameters:
multiAMcoef  [out] AM-coefficients for all input detector-state series
multiDetStates  [in] detector-states at timestamps t_i
doppler  source sky-position [in equatorial coords!], freq etc.

Definition at line 139 of file ComplexAM.c.

int XLALWeighMultiCmplxAMCoeffs ( MultiCmplxAMCoeffs multiAMcoef,
const MultiNoiseWeights multiWeights 
)

Multiply AM-coeffs $a_{X\alpha}, b_{X\alpha}$ by weights $\sqrt(w_{X\alpha})$ and compute the resulting $A_d, B_d, C_d, E_d$ by simply *SUMMING* them, i.e.

$A_d \equiv \sum_{X,\alpha} \sqrt{w_{X\alpha} a_{X\alpha}^2$ etc.

NOTE: this function modifies the CmplxAMCoeffs *in place* ! NOTE2: if the weights = NULL, we assume unit-weights.

Definition at line 289 of file ComplexAM.c.

void XLALDestroyMultiCmplxAMCoeffs ( MultiCmplxAMCoeffs multiAMcoef  ) 

Destroy a MultiCmplxAMCoeffs structure.

Note, this is "NULL-robust" in the sense that it will not crash on NULL-entries anywhere in this struct, so it can be used for failure-cleanup even on incomplete structs

Definition at line 251 of file ComplexAM.c.


Generated on Sun Oct 12 02:32:50 2008 for LAL by  doxygen 1.5.2