ComplexAM.c File Reference

Author:
J. Functions related to F-statistic calculation when the AM coefficients are complex.
More...

#include <math.h>
#include <lal/ExtrapolatePulsarSpins.h>
#include <lal/LALGSL.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_permutation.h>
#include <gsl/gsl_linalg.h>
#include <lal/AVFactories.h>
#include <lal/LISAspecifics.h>
#include <lal/ComplexAM.h>

Include dependency graph for ComplexAM.c:

Go to the source code of this file.

Defines

#define __USE_ISOC99   1
#define TRUE   (1==1)
#define FALSE   (1==0)

Functions

 NRCSID (COMPLEXAMC,"$Id: ComplexAM.c,v 1.20 2008/08/01 12:03:19 reinhard Exp $")
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.
void LALGetMultiCmplxAMCoeffs (LALStatus *status, MultiCmplxAMCoeffs **multiAMcoef, const MultiDetectorStateSeries *multiDetStates, PulsarDopplerParams doppler)
 Multi-IFO version of LALGetCmplxAMCoeffs().
void XLALDestroyMultiCmplxAMCoeffs (MultiCmplxAMCoeffs *multiAMcoef)
 Destroy a MultiCmplxAMCoeffs structure.
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.


Detailed Description

Author:
J. Functions related to F-statistic calculation when the AM coefficients are complex.

T. Whelan, Reinhard Prix

Definition in file ComplexAM.c.


Define Documentation

#define __USE_ISOC99   1

Definition at line 28 of file ComplexAM.c.

#define TRUE   (1==1)

Definition at line 49 of file ComplexAM.c.

#define FALSE   (1==0)

Definition at line 50 of file ComplexAM.c.


Function Documentation

NRCSID ( COMPLEXAMC  ,
"$Id: ComplexAM.  c,
v 1.20 2008/08/01 12:03:19 reinhard Exp $"   
)

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.

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.

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.


Generated on Sun Sep 7 03:07:35 2008 for LAL by  doxygen 1.5.2