DetectorStates.h File Reference

Author:
Reinhard Prix API for the DetectorStates.c functions.
More...

#include <lal/LALRCSID.h>
#include <lal/LALComputeAM.h>
#include <lal/PulsarDataTypes.h>
#include <lal/SeqFactories.h>

Include dependency graph for DetectorStates.h:

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

Go to the source code of this file.

Data Structures

struct  SymmTensor3
 A symmetric 3x3 tensor (such as detector-tensors), storing only the upper triangle. More...
struct  DetectorArm
 Struct containing pre-computed quantites describing a single detector arm: unit-vector along detector-arm, arm-length, and arm "basis-tensor" n x n. More...
struct  DetectorState
 State-info about position, velocity and LMST of a detector together with corresponding EarthState. More...
struct  DetectorStateSeries
 Timeseries of DetectorState's, representing the detector-info at different timestamps. More...
struct  MultiDetectorStateSeries
 Multi-IFO time-series of DetectorStates. More...

Defines

#define DETECTORSTATES_ENULL   1
#define DETECTORSTATES_ENONULL   2
#define DETECTORSTATES_EINPUT   3
#define DETECTORSTATES_EMEM   4
#define DETECTORSTATES_EXLAL   5
#define DETECTORSTATES_EIEEE   6
#define DETECTORSTATES_MSGENULL   "Arguments contained an unexpected null pointer"
#define DETECTORSTATES_MSGENONULL   "Output pointer is non-NULL"
#define DETECTORSTATES_MSGEINPUT   "Invalid input"
#define DETECTORSTATES_MSGEMEM   "Out of memory. Bad."
#define DETECTORSTATES_MSGEXLAL   "XLAL function call failed"
#define DETECTORSTATES_MSGEIEEE   "Floating point failure"

Typedefs

typedef DetectorArm Detector3Arms [3]
 used to allow functions some type/size checking

Functions

 NRCSID (DETECTORSTATESH,"$Id: DetectorStates.h,v 1.11 2008/06/06 08:28:41 whelan Exp $")
void LALGetDetectorStates (LALStatus *, DetectorStateSeries **DetectorStates, const LIGOTimeGPSVector *timestamps, const LALDetector *detector, const EphemerisData *edat, REAL8 tOffset)
 Get the 'detector state' (ie detector-tensor, position, velocity, etc) for the given vector of timestamps, shifted by a common time-shift tOffset.
void LALGetMultiDetectorStates (LALStatus *, MultiDetectorStateSeries **mdetStates, const MultiSFTVector *multiSFTs, const EphemerisData *edat)
 Get the detector-time series for the given MultiSFTVector.
void LALCreateDetectorStateSeries (LALStatus *, DetectorStateSeries **vect, UINT4 length)
 Create a DetectorStateSeries.
int XLALAddSymmTensor3s (SymmTensor3 *sum, const SymmTensor3 *aT, const SymmTensor3 *bT)
 Convenience function for adding two SymmTensor3s: aT + bT NOTE: it *is* safe to have sum point to the same tensor-struct as either aT or bT.
int XLALSubtractSymmTensor3s (SymmTensor3 *diff, const SymmTensor3 *aT, const SymmTensor3 *bT)
 Convenience function for subtracting two SymmTensor3s: aT - bT NOTE: it *is* safe to have diff point to the same tensor-struct as either aT or bT.
int XLALScaleSymmTensor3 (SymmTensor3 *mult, const SymmTensor3 *aT, REAL4 factor)
 Convenience function for multiplying a SymmTensor3 by a scalar factor.
int XLALTensorSquareVector3 (SymmTensor3 *vxv, REAL4 v[3])
 Compute the "squared-tensor" v x v for given vector v, the result is returned in a "detectorTensor" struct.
int XLALSymmetricTensorProduct3 (SymmTensor3 *vxw, REAL4 v[3], REAL4 w[3])
 Compute the symmetrized tensor product T = v x w + w x v.
REAL4 XLALContractSymmTensor3s (const SymmTensor3 *T1, const SymmTensor3 *T2)
 Contract two symmetric tensors over both indices T1 : T2.
void XLALDestroyDetectorStateSeries (DetectorStateSeries *detStates)
void LALDestroyDetectorStateSeries (LALStatus *, DetectorStateSeries **vect)
 Destroy a DetectorStateSeries (and set it to NULL).
void XLALDestroyMultiDetectorStateSeries (MultiDetectorStateSeries *mdetStates)
 Helper function to get rid of a multi-IFO DetectorStateSeries 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.
void LALGetMultiDetectorVelTimePos (LALStatus *status, REAL8VectorSequence **outVel, REAL8VectorSequence **outPos, LIGOTimeGPSVector **outTime, MultiDetectorStateSeries *in)
 Helper funxtion to copy velocity, time and position vectors out of the multi-detector state series.


Detailed Description

Author:
Reinhard Prix API for the DetectorStates.c functions.

Date:
2005
Id
DetectorStates.h,v 1.11 2008/06/06 08:28:41 whelan Exp

Definition in file DetectorStates.h.


Define Documentation

#define DETECTORSTATES_ENULL   1

Definition at line 50 of file DetectorStates.h.

#define DETECTORSTATES_ENONULL   2

Definition at line 51 of file DetectorStates.h.

#define DETECTORSTATES_EINPUT   3

Definition at line 52 of file DetectorStates.h.

#define DETECTORSTATES_EMEM   4

Definition at line 53 of file DetectorStates.h.

#define DETECTORSTATES_EXLAL   5

Definition at line 54 of file DetectorStates.h.

#define DETECTORSTATES_EIEEE   6

Definition at line 55 of file DetectorStates.h.

#define DETECTORSTATES_MSGENULL   "Arguments contained an unexpected null pointer"

Definition at line 57 of file DetectorStates.h.

#define DETECTORSTATES_MSGENONULL   "Output pointer is non-NULL"

Definition at line 58 of file DetectorStates.h.

#define DETECTORSTATES_MSGEINPUT   "Invalid input"

Definition at line 59 of file DetectorStates.h.

#define DETECTORSTATES_MSGEMEM   "Out of memory. Bad."

Definition at line 60 of file DetectorStates.h.

#define DETECTORSTATES_MSGEXLAL   "XLAL function call failed"

Definition at line 61 of file DetectorStates.h.

#define DETECTORSTATES_MSGEIEEE   "Floating point failure"

Definition at line 62 of file DetectorStates.h.


Typedef Documentation

typedef DetectorArm Detector3Arms[3]

used to allow functions some type/size checking

Definition at line 87 of file DetectorStates.h.


Function Documentation

NRCSID ( DETECTORSTATESH  ,
"$Id: DetectorStates.  h,
v 1.11 2008/06/06 08:28:41 whelan Exp $"   
)

void LALGetDetectorStates ( LALStatus status,
DetectorStateSeries **  DetectorStates,
const LIGOTimeGPSVector timestamps,
const LALDetector detector,
const EphemerisData edat,
REAL8  tOffset 
)

Get the 'detector state' (ie detector-tensor, position, velocity, etc) for the given vector of timestamps, shifted by a common time-shift tOffset.

This function just calls LALBarycenterEarth() and LALBarycenter() for the given vector of timestamps (shifted by tOffset) and returns the positions, velocities and LMSTs of the detector, stored in a DetectorStateSeries. There is also an entry containing the EarthState at each timestamp, which can be used as input for subsequent calls to LALBarycenter().

tOffset allows one to easily use the midpoints of SFT-timestamps, for example.

Note:
the DetectorStateSeries is allocated here and should be free'ed with LALDestroyDetectorStateSeries().
Parameters:
DetectorStates  [out] series of DetectorStates
timestamps  array of GPS timestamps t_i
detector  detector info
edat  ephemeris file data

Definition at line 79 of file DetectorStates.c.

void LALGetMultiDetectorStates ( LALStatus status,
MultiDetectorStateSeries **  mdetStates,
const MultiSFTVector multiSFTs,
const EphemerisData edat 
)

Get the detector-time series for the given MultiSFTVector.

(see LALGetDetectorStates() for more comments).

Note:
The time-series is based on the midpoints of the SFT-timestamps.
Parameters:
mdetStates  [out] multi-IFO detector-states
multiSFTs  [in] multi-IFO SFTs
edat  ephemeris files data nix nix

Definition at line 405 of file DetectorStates.c.

void LALCreateDetectorStateSeries ( LALStatus ,
DetectorStateSeries **  vect,
UINT4  length 
)

Create a DetectorStateSeries.

Parameters:
vect  output vector
length  number of entries

Definition at line 511 of file DetectorStates.c.

int XLALAddSymmTensor3s ( SymmTensor3 sum,
const SymmTensor3 aT,
const SymmTensor3 bT 
)

Convenience function for adding two SymmTensor3s: aT + bT NOTE: it *is* safe to have sum point to the same tensor-struct as either aT or bT.

Definition at line 313 of file DetectorStates.c.

int XLALSubtractSymmTensor3s ( SymmTensor3 diff,
const SymmTensor3 aT,
const SymmTensor3 bT 
)

Convenience function for subtracting two SymmTensor3s: aT - bT NOTE: it *is* safe to have diff point to the same tensor-struct as either aT or bT.

Definition at line 335 of file DetectorStates.c.

int XLALScaleSymmTensor3 ( SymmTensor3 mult,
const SymmTensor3 aT,
REAL4  factor 
)

Convenience function for multiplying a SymmTensor3 by a scalar factor.

NOTE: it *is* safe to have aT and mult point to the same tensor-struct

Definition at line 357 of file DetectorStates.c.

int XLALTensorSquareVector3 ( SymmTensor3 vxv,
REAL4  v[3] 
)

Compute the "squared-tensor" v x v for given vector v, the result is returned in a "detectorTensor" struct.

Definition at line 270 of file DetectorStates.c.

int XLALSymmetricTensorProduct3 ( SymmTensor3 vxw,
REAL4  v[3],
REAL4  w[3] 
)

Compute the symmetrized tensor product T = v x w + w x v.

Definition at line 291 of file DetectorStates.c.

REAL4 XLALContractSymmTensor3s ( const SymmTensor3 T1,
const SymmTensor3 T2 
)

Contract two symmetric tensors over both indices T1 : T2.

Definition at line 378 of file DetectorStates.c.

void XLALDestroyDetectorStateSeries ( DetectorStateSeries detStates  ) 

Definition at line 542 of file DetectorStates.c.

void LALDestroyDetectorStateSeries ( LALStatus ,
DetectorStateSeries **  vect 
)

Destroy a DetectorStateSeries (and set it to NULL).

Parameters:
vect  pointer to vector to be destroyed

Definition at line 556 of file DetectorStates.c.

void XLALDestroyMultiDetectorStateSeries ( MultiDetectorStateSeries mdetStates  ) 

Helper function to get rid of a multi-IFO DetectorStateSeries 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 576 of file DetectorStates.c.

void LALGetMultiDetectorVelTimePos ( LALStatus status,
REAL8VectorSequence **  outVel,
REAL8VectorSequence **  outPos,
LIGOTimeGPSVector **  outTime,
MultiDetectorStateSeries in 
)

Helper funxtion to copy velocity, time and position vectors out of the multi-detector state series.

Definition at line 601 of file DetectorStates.c.


Generated on Fri Sep 5 03:07:53 2008 for LAL by  doxygen 1.5.2