ConfigFile.h | ConfigFile.h | |||
---|---|---|---|---|
skipping to change at line 186 | skipping to change at line 186 | |||
const CHAR *varName, | const CHAR *varName, | |||
BOOLEAN *wasRead); | BOOLEAN *wasRead); | |||
int | int | |||
XLALReadConfigVariable (void *varp, | XLALReadConfigVariable (void *varp, | |||
const LALParsedDataFile *cfgdata, | const LALParsedDataFile *cfgdata, | |||
const LALConfigVar *param, | const LALConfigVar *param, | |||
BOOLEAN *wasRead); | BOOLEAN *wasRead); | |||
int XLALCheckConfigReadComplete (const LALParsedDataFile *cfgdata, ConfigSt rictness strict); | int XLALCheckConfigReadComplete (const LALParsedDataFile *cfgdata, ConfigSt rictness strict); | |||
int XLALLowerCaseString (CHAR *string); | ||||
/* ========== DEPRECATED LAL INTERFACE FUNCTIONS, which have been replaced by XLAL functions, | /* ========== DEPRECATED LAL INTERFACE FUNCTIONS, which have been replaced by XLAL functions, | |||
* These functions are just wrappers around the XLAL functions | * These functions are just wrappers around the XLAL functions | |||
*/ | */ | |||
/** \name Error codes */ | /** \name Error codes */ | |||
/*@{*/ | /*@{*/ | |||
#define CONFIGFILEH_ENULL 1 /**< Arguments contained an unexpected null pointer. */ | #define CONFIGFILEH_ENULL 1 /**< Arguments contained an unexpected null pointer. */ | |||
#define CONFIGFILEH_EFILE 2 /**< File error. */ | #define CONFIGFILEH_EFILE 2 /**< File error. */ | |||
#define CONFIGFILEH_EVAR 3 /**< Config variable not fo und. */ | #define CONFIGFILEH_EVAR 3 /**< Config variable not fo und. */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 0 lines changed or added | |||
FlatLatticeTiling.h | FlatLatticeTiling.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
// This program is distributed in the hope that it will be useful, | // This program is distributed in the hope that it will be useful, | |||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | // but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
// GNU General Public License for more details. | // GNU General Public License for more details. | |||
// | // | |||
// You should have received a copy of the GNU General Public License | // You should have received a copy of the GNU General Public License | |||
// along with with program; see the file COPYING. If not, write to the | // along with with program; see the file COPYING. If not, write to the | |||
// Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | // Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |||
// MA 02111-1307 USA | // MA 02111-1307 USA | |||
// | // | |||
/// | ||||
/// \addtogroup FlatLatticeTiling_h | ||||
/// \author Karl Wette | ||||
/// \brief Lattice-based template generation for flat metric parameter spac | ||||
es | ||||
/// | ||||
/// @{ | ||||
#ifndef _FLATLATTICETILING_H | #ifndef _FLATLATTICETILING_H | |||
#define _FLATLATTICETILING_H | #define _FLATLATTICETILING_H | |||
#include <stdbool.h> | #include <stdbool.h> | |||
#include <gsl/gsl_vector.h> | #include <gsl/gsl_vector.h> | |||
#include <gsl/gsl_matrix.h> | #include <gsl/gsl_matrix.h> | |||
#include <lal/LALDatatypes.h> | #include <lal/LALDatatypes.h> | |||
#include <lal/Random.h> | #include <lal/Random.h> | |||
#include <lal/GSLSupport.h> | #include <lal/GSLSupport.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/// | /// | |||
/// \addtogroup FlatLatticeTiling_h | ||||
/// \author Karl Wette | ||||
/// \brief Lattice-based template generation for flat metric parameter spac | ||||
es | ||||
/// | ||||
/// @{ | ||||
/// | ||||
/// Flat lattice tiling bound function | /// Flat lattice tiling bound function | |||
/// | /// | |||
typedef void (*FlatLatticeBound)( | typedef void (*FlatLatticeBound)( | |||
const size_t dimension, ///< [in] Dimension on which bound applies | const size_t dimension, ///< [in] Dimension on which bound applies | |||
const gsl_vector_uint* bound, ///< [in] Indices of current bounds | const gsl_vector_uint* bound, ///< [in] Indices of current bounds | |||
const gsl_vector* point, ///< [in] Point on which to find bounds | const gsl_vector* point, ///< [in] Point on which to find bounds | |||
const void* data, ///< [in] Arbitrary data describing paramete r space | const void* data, ///< [in] Arbitrary data describing paramete r space | |||
const gsl_vector* incr, ///< [in] Increments of the lattice tiling g enerator | const gsl_vector* incr, ///< [in] Increments of the lattice tiling g enerator | |||
const gsl_vector* bbox, ///< [in] Metric ellipse bounding box extent s | const gsl_vector* bbox, ///< [in] Metric ellipse bounding box extent s | |||
gsl_vector* lower, ///< [out] Lower bounds on point in dimensio n | gsl_vector* lower, ///< [out] Lower bounds on point in dimensio n | |||
skipping to change at line 246 | skipping to change at line 244 | |||
/// | /// | |||
int XLALSetFlatLatticeEllipticalBounds( | int XLALSetFlatLatticeEllipticalBounds( | |||
FlatLatticeTiling* tiling, ///< [in] Tiling state | FlatLatticeTiling* tiling, ///< [in] Tiling state | |||
const size_t dimension, ///< [in] Dimension of X bound (Y bound is o ne higher) | const size_t dimension, ///< [in] Dimension of X bound (Y bound is o ne higher) | |||
const double x_centre, ///< [in] X centre of ellipse | const double x_centre, ///< [in] X centre of ellipse | |||
const double y_centre, ///< [in] Y centre of ellipse | const double y_centre, ///< [in] Y centre of ellipse | |||
const double x_semi, ///< [in] Length of X semi-diameter | const double x_semi, ///< [in] Length of X semi-diameter | |||
const double y_semi ///< [in] Length of Y semi-diameter | const double y_semi ///< [in] Length of Y semi-diameter | |||
); | ); | |||
/// @} | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif | #endif | |||
/// @} | ||||
End of changes. 4 change blocks. | ||||
10 lines changed or deleted | 10 lines changed or added | |||
LALBarycenter.h | LALBarycenter.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
#include <lal/LALStdio.h> | #include <lal/LALStdio.h> | |||
#include <lal/LALStdlib.h> | #include <lal/LALStdlib.h> | |||
#include <lal/LALConstants.h> | #include <lal/LALConstants.h> | |||
#include <lal/DetectorSite.h> | #include <lal/DetectorSite.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** | /** | |||
* \defgroup LALBarycenter_h Barycentering | * \defgroup LALBarycenter_h Header LALBarycenter.h | |||
* \ingroup pulsarCommon | * \ingroup pkg_pulsarCommon | |||
* \author Curt Cutler | * \author Curt Cutler | |||
* \date 2001 | * \date 2001 | |||
* | * | |||
* \brief Provides routines for transforming from arrival time at detector (GPS) to pulse emission time (TDB); ie | * \brief Provides routines for transforming from arrival time at detector (GPS) to pulse emission time (TDB); ie | |||
* for ``barycentering'' the measured astronomical time series. | * for ``barycentering'' the measured astronomical time series. | |||
* | * | |||
* \heading{Synopsis} | * \heading{Synopsis} | |||
* \code | * \code | |||
* #include <lal/LALInitBarycenter.h> | * #include <lal/LALInitBarycenter.h> | |||
* #include <lal/LALBarycenter.h> | * #include <lal/LALBarycenter.h> | |||
skipping to change at line 110 | skipping to change at line 110 | |||
EPHEM_NONE = 0, | EPHEM_NONE = 0, | |||
EPHEM_DE200, | EPHEM_DE200, | |||
EPHEM_DE405, | EPHEM_DE405, | |||
EPHEM_DE414, | EPHEM_DE414, | |||
EPHEM_DE421, | EPHEM_DE421, | |||
EPHEM_LAST | EPHEM_LAST | |||
} EphemerisType; | } EphemerisType; | |||
/** \name Constants from Irwin and Fukushima, A&A, 348, 1999 (taken from TE MPO2) | /** \name Constants from Irwin and Fukushima, A&A, 348, 1999 (taken from TE MPO2) | |||
* used for ephemeris conversions. */ | * used for ephemeris conversions. */ | |||
/*@{*/ | ||||
#define IFTE_JD0 2443144.5003725 /**< Epoch of TCB, TCG and TT in Julian D ays */ | #define IFTE_JD0 2443144.5003725 /**< Epoch of TCB, TCG and TT in Julian D ays */ | |||
#define IFTE_MJD0 43144.0003725 /**< Epoch of TCB, TCG and TT in Modified J ulian Days */ | #define IFTE_MJD0 43144.0003725 /**< Epoch of TCB, TCG and TT in Modified J ulian Days */ | |||
#define IFTE_TEPH0 -65.564518e-6 /**< Equation 17 of Irwin and Fukushima. * / | #define IFTE_TEPH0 -65.564518e-6 /**< Equation 17 of Irwin and Fukushima. * / | |||
#define IFTE_LC 1.48082686742e-8 /**< Equation 20 of Irwin and Fukushima. * / | #define IFTE_LC 1.48082686742e-8 /**< Equation 20 of Irwin and Fukushima. * / | |||
#define IFTE_KM1 1.55051979176e-8 /**< Value of K-1, defined using the IAU definition of L_B = 1.55051976772e-8 and K=1/(1-L_B) (see TEMPO2). */ | #define IFTE_KM1 1.55051979176e-8 /**< Value of K-1, defined using the IAU definition of L_B = 1.55051976772e-8 and K=1/(1-L_B) (see TEMPO2). */ | |||
#define IFTE_K (((long double)1.0) + ((long double)IFTE_KM1)) /**< Factor r | #define IFTE_K (((long double)1.0) + ((long double)IFTE_KM1)) /**< Factor r | |||
elating ephemeris units for time and distance to corresponding SI units, fr | elating ephemeris units for time and distance to corresponding SI units, fr | |||
om Equation 2 of Irwin and Fukushima. */ | om Eq. 2 of Irwin and Fukushima. */ | |||
/*@}*/ | ||||
#define JPL_AU_DE405 149597870.6910000 /**< Definition of 1 AU from the JPL | #define JPL_AU_DE405 149597870.6910000 /**< Definition of 1 AU from | |||
DE405 ephemeris in km */ | the JPL DE405 ephemeris in km */ | |||
#define JPL_AU_DE200 149597870.6600000 /**< Definition of 1 AU from the JPL | #define JPL_AU_DE200 149597870.6600000 /**< Definition of 1 AU from | |||
DE200 ephemeris in km */ | the JPL DE200 ephemeris in km */ | |||
#define CURT_AU 149597870.6600 /* 1 AU from create_solar_system_barycenter. | #define CURT_AU 149597870.6600 /**< 1 AU from create_solar_ | |||
c as used in Curt's original routines */ | system_barycenter.c as used in Curt's original routines */ | |||
/** \brief This structure contains | /** \brief This structure contains | |||
* two pointers to the ephemeris data files containing arrays | * two pointers to the ephemeris data files containing arrays | |||
* of center-of-mass positions for the Earth and Sun, respectively. | * of center-of-mass positions for the Earth and Sun, respectively. | |||
* | * | |||
* The tables are derived from the JPL ephemeris. | * The tables are derived from the JPL ephemeris. | |||
* | * | |||
* Files tabulate positions for one calendar year | * Files tabulate positions for one calendar year | |||
* (actually, a little more than one year, to deal | * (actually, a little more than one year, to deal | |||
* with overlaps). The first line of each table summarizes | * with overlaps). The first line of each table summarizes | |||
End of changes. 4 change blocks. | ||||
11 lines changed or deleted | 13 lines changed or added | |||
LALCache.h | LALCache.h | |||
---|---|---|---|---|
skipping to change at line 78 | skipping to change at line 78 | |||
/** Returns a new LALCache structure that is the merge of two. */ | /** Returns a new LALCache structure that is the merge of two. */ | |||
LALCache *XLALCacheMerge(const LALCache * cache1, const LALCache * cache2); | LALCache *XLALCacheMerge(const LALCache * cache1, const LALCache * cache2); | |||
/** Reads a LAL cache file and produces a LALCache structure. */ | /** Reads a LAL cache file and produces a LALCache structure. */ | |||
LALCache *XLALCacheFileRead(LALFILE * fp); | LALCache *XLALCacheFileRead(LALFILE * fp); | |||
/** Reads a LAL cache file and produces a LALCache structure. */ | /** Reads a LAL cache file and produces a LALCache structure. */ | |||
LALCache *XLALCacheImport(const char *fname); | LALCache *XLALCacheImport(const char *fname); | |||
/** Globs a directory and construct LALCache from matching entries. | /** Globs a directory and construct LALCache from matching entries. | |||
* \params [in] dirstr Colon-delimited list of directories. | * \param [in] dirstr Colon-delimited list of directories. | |||
* \params [in] fnptrn Glob pattern for matching files. | * \param [in] fnptrn Glob pattern for matching files. | |||
* \returns LALCache structure. | * \returns LALCache structure. | |||
*/ | */ | |||
LALCache *XLALCacheGlob(const char *dirstr, const char *fnptrn); | LALCache *XLALCacheGlob(const char *dirstr, const char *fnptrn); | |||
/** Writes a LALCache structure to an output LAL cache file. */ | /** Writes a LALCache structure to an output LAL cache file. */ | |||
int XLALCacheFileWrite(LALFILE * fp, const LALCache * cache); | int XLALCacheFileWrite(LALFILE * fp, const LALCache * cache); | |||
/** Sorts entries in a LALCache structure. */ | /** Sorts entries in a LALCache structure. */ | |||
int XLALCacheSort(LALCache * cache); | int XLALCacheSort(LALCache * cache); | |||
/** Prunes duplicate entries keeping the second one; cache is reduced in | /** Prunes duplicate entries keeping the second one; cache is reduced in | |||
* length if there are. Entries are duplicates if their metadata are | * length if there are. Entries are duplicates if their metadata are | |||
* the same (even if the urls are different */ | * the same (even if the urls are different */ | |||
int XLALCacheUniq(LALCache * cache); | int XLALCacheUniq(LALCache * cache); | |||
/** Selects only matching entries in a LALCache structure -- other entries | /** Selects only matching entries in a LALCache structure -- other entries | |||
* are deleted from the LALCache structure. | * are deleted from the LALCache structure. | |||
* \params t0 Remove entries ending before t0 (0 to disable). | * \param cache *UNDOCUMENTED* | |||
* \params t1 Remove entries ending after t1 (0 to disable). | * \param t0 Remove entries ending before t0 (0 to disable). | |||
* \params srcregex Regular expression to match src field (NULL to disable) | * \param t1 Remove entries ending after t1 (0 to disable). | |||
. | * \param srcregex Regular expression to match src field (NULL to disable). | |||
* \params dscregex Regular expression to match dsc field (NULL to disable) | * \param dscregex Regular expression to match dsc field (NULL to disable). | |||
. | * \param urlregex Regular expression to match url field (NULL to disable). | |||
* \params urlregex Regular expression to match url field (NULL to disable) | ||||
. | ||||
*/ | */ | |||
int XLALCacheSieve(LALCache * cache, INT4 t0, INT4 t1, | int XLALCacheSieve(LALCache * cache, INT4 t0, INT4 t1, | |||
const char *srcregex, const char *dscregex, | const char *srcregex, const char *dscregex, | |||
const char *urlregex); | const char *urlregex); | |||
/** Finds the first entry that contains the requested time, or the first en try | /** Finds the first entry that contains the requested time, or the first en try | |||
* after the time if the time is in a gap or before the first entry. Retur ns | * after the time if the time is in a gap or before the first entry. Retur ns | |||
* NULL if the time is after the last entry. | * NULL if the time is after the last entry. | |||
*/ | */ | |||
LALCacheEntry *XLALCacheEntrySeek(const LALCache * cache, double t); | LALCacheEntry *XLALCacheEntrySeek(const LALCache * cache, double t); | |||
End of changes. 2 change blocks. | ||||
10 lines changed or deleted | 8 lines changed or added | |||
LALConfig.h | LALConfig.h | |||
---|---|---|---|---|
/* include/lal/LALConfig.h. Generated from LALConfig.h.in by configure. * / | /* include/lal/LALConfig.h. Generated from LALConfig.h.in by configure. * / | |||
/* only include this file if LAL's config.h has not been included */ | /* only include this file if LAL's config.h has not been included */ | |||
#ifndef CONFIG_H__LAL | #ifndef CONFIG_H__LAL | |||
#ifndef _LALCONFIG_H | #ifndef _LALCONFIG_H | |||
#define _LALCONFIG_H | #define _LALCONFIG_H | |||
/* LAL Version */ | /* LAL Version */ | |||
#define LAL_VERSION "6.9.1" | #define LAL_VERSION "6.10.0" | |||
/* LAL Version Major Number */ | /* LAL Version Major Number */ | |||
#define LAL_VERSION_MAJOR 6 | #define LAL_VERSION_MAJOR 6 | |||
/* LAL Version Minor Number */ | /* LAL Version Minor Number */ | |||
#define LAL_VERSION_MINOR 9 | #define LAL_VERSION_MINOR 10 | |||
/* LAL Version Micro Number */ | /* LAL Version Micro Number */ | |||
#define LAL_VERSION_MICRO 1 | #define LAL_VERSION_MICRO 0 | |||
/* LAL Version Devel Number */ | /* LAL Version Devel Number */ | |||
#define LAL_VERSION_DEVEL 0 | #define LAL_VERSION_DEVEL 0 | |||
/* LAL Configure Arguments */ | /* LAL Configure Arguments */ | |||
#define LAL_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut/testing/l al/6.9.1' '--exec-prefix=/home/ut/testing/lal/6.9.1' '--sysconfdir=/home/ut /testing/lal/6.9.1' '--datadir=/home/ut/testing/lal/6.9.1/share' 'CFLAGS=-w -fpermissive' 'CXXFLAGS=-w -fpermissive'" | #define LAL_CONFIGURE_ARGS " '--enable-shared' '--prefix=/home/ut/testing/l al/6.10.0' '--exec-prefix=/home/ut/testing/lal/6.10.0' '--sysconfdir=/home/ ut/testing/lal/6.10.0' '--datadir=/home/ut/testing/lal/6.10.0/share' 'CFLAG S=-w -fpermissive' 'CXXFLAGS=-w -fpermissive'" | |||
/* LAL Configure Date */ | /* LAL Configure Date */ | |||
#define LAL_CONFIGURE_DATE "2013-01-15T02:31:49+0400" | #define LAL_CONFIGURE_DATE "2013-03-13T02:35:15+0400" | |||
/* Suppress debugging code */ | /* Suppress debugging code */ | |||
/* #undef LAL_NDEBUG */ | /* #undef LAL_NDEBUG */ | |||
/* Use functions rather than macros */ | /* Use functions rather than macros */ | |||
/* #undef NOLALMACROS */ | /* #undef NOLALMACROS */ | |||
/* Use pthread mutex lock for threadsafety */ | /* Use pthread mutex lock for threadsafety */ | |||
/* #undef LAL_PTHREAD_LOCK */ | /* #undef LAL_PTHREAD_LOCK */ | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
LALConstants.h | LALConstants.h | |||
---|---|---|---|---|
skipping to change at line 112 | skipping to change at line 112 | |||
/*@}*/ | /*@}*/ | |||
/** \name Physical constants | /** \name Physical constants | |||
* The following are measured fundamental physical constants, with values | * The following are measured fundamental physical constants, with values | |||
* given in \ref Barnet_1996. When not dimensionless, they are given | * given in \ref Barnet_1996. When not dimensionless, they are given | |||
* in the SI units shown. */ | * in the SI units shown. */ | |||
/*@{*/ | /*@{*/ | |||
#define LAL_G_SI 6.67259e-11 /**< Gravitational constant, N m^2 kg^ -2 */ | #define LAL_G_SI 6.67259e-11 /**< Gravitational constant, N m^2 kg^ -2 */ | |||
#define LAL_H_SI 6.6260755e-34 /**< Planck constant, J s */ | #define LAL_H_SI 6.6260755e-34 /**< Planck constant, J s */ | |||
#define LAL_HBAR_SI 1.0545726691251019773669079307477023e-34 /**< Reduced Planck constant, J s. = LAL_H_SI / LAL_TWOPI */ | #define LAL_HBAR_SI 1.0545726691251019773669079307477023e-34 /**< Reduced Planck constant, J s. = LAL_H_SI / LAL_TWOPI */ | |||
#define LAL_MPL_SI 2.1767140835297016797409334934257335e-8 /**< Planck | #define LAL_MPL_SI 2.1767140835297016797409334934257335e-8 /**< Planck | |||
mass, kg. = \sqrt{LAL_HBAR_SI * LAL_C_SI / LAL_G_SI} */ | mass, kg. = sqrt{LAL_HBAR_SI * LAL_C_SI / LAL_G_SI} */ | |||
#define LAL_LPL_SI 1.6160486159348859434398861412879278e-35 /**< Planck | #define LAL_LPL_SI 1.6160486159348859434398861412879278e-35 /**< Planck | |||
length, m. = \sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^3} */ | length, m. = sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^3} */ | |||
#define LAL_TPL_SI 5.3905579437054615411301846068720240e-44 /**< Planck | #define LAL_TPL_SI 5.3905579437054615411301846068720240e-44 /**< Planck | |||
time, s. = \sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^5} */ | time, s. = sqrt{LAL_HBAR_SI * LAL_G_SI / LAL_C_SI^5} */ | |||
#define LAL_K_SI 1.380658e-23 /**< Boltzmann constant, J K^-1 */ | #define LAL_K_SI 1.380658e-23 /**< Boltzmann constant, J K^-1 */ | |||
#define LAL_R_SI 8.314511 /**< Ideal gas constant, J K^-1 */ | #define LAL_R_SI 8.314511 /**< Ideal gas constant, J K^-1 */ | |||
#define LAL_MOL 6.0221367e23 /**< Avogadro constant, dimensionless */ | #define LAL_MOL 6.0221367e23 /**< Avogadro constant, dimensionless */ | |||
#define LAL_BWIEN_SI 2.897756e-3 /**< Wien displacement law constant, m K */ | #define LAL_BWIEN_SI 2.897756e-3 /**< Wien displacement law constant, m K */ | |||
#define LAL_SIGMA_SI 5.67051e-8 /**< Stefan-Boltzmann constant, W m^-2 K^ -4 */ | #define LAL_SIGMA_SI 5.67051e-8 /**< Stefan-Boltzmann constant, W m^-2 K^ -4 */ | |||
#define LAL_AMU_SI 1.6605402e-27 /**< Atomic mass unit, kg */ | #define LAL_AMU_SI 1.6605402e-27 /**< Atomic mass unit, kg */ | |||
#define LAL_MP_SI 1.6726231e-27 /**< Proton mass, kg */ | #define LAL_MP_SI 1.6726231e-27 /**< Proton mass, kg */ | |||
#define LAL_ME_SI 9.1093897e-31 /**< Electron mass, kg */ | #define LAL_ME_SI 9.1093897e-31 /**< Electron mass, kg */ | |||
#define LAL_QE_SI 1.60217733e-19 /**< Electron charge, C */ | #define LAL_QE_SI 1.60217733e-19 /**< Electron charge, C */ | |||
#define LAL_ALPHA 7.297354677e-3 /**< Fine structure constant, dimensionle ss */ | #define LAL_ALPHA 7.297354677e-3 /**< Fine structure constant, dimensionle ss */ | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
LALString.h | LALString.h | |||
---|---|---|---|---|
skipping to change at line 33 | skipping to change at line 33 | |||
#include <stddef.h> | #include <stddef.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
char * XLALStringAppend( char *s, const char *append ); | char * XLALStringAppend( char *s, const char *append ); | |||
char * XLALStringDuplicate( const char *s ); | char * XLALStringDuplicate( const char *s ); | |||
size_t XLALStringCopy( char *dst, const char *src, size_t size ); | size_t XLALStringCopy( char *dst, const char *src, size_t size ); | |||
size_t XLALStringConcatenate( char *dst, const char *src, size_t size ); | size_t XLALStringConcatenate( char *dst, const char *src, size_t size ); | |||
int XLALStringToLowerCase ( CHAR *string ); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* _LALSTRING_H */ | #endif /* _LALSTRING_H */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
LALVCSInfo.h | LALVCSInfo.h | |||
---|---|---|---|---|
skipping to change at line 19 | skipping to change at line 19 | |||
* This program is distributed in the hope that it will be useful, but | * This program is distributed in the hope that it will be useful, but | |||
* WITHOUT ANY WARRANTY; without even the implied warranty of | * WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* General Public License for more details. | * General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | |||
* along with with program; see the file COPYING. If not, write to the | * along with with program; see the file COPYING. If not, write to the | |||
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |||
* MA 02111-1307 USA | * MA 02111-1307 USA | |||
* | * | |||
* Copyright (C) 2009,2010 Adam Mercer | * Copyright (C) 2009-2013 Adam Mercer | |||
*/ | */ | |||
#ifndef _LALVCSINFO_H | #ifndef _LALVCSINFO_H | |||
#define _LALVCSINFO_H | #define _LALVCSINFO_H | |||
#include <lal/LALLibVCSInfo.h> | #include <lal/LALLibVCSInfo.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/* vcs information defines */ | /* vcs information defines */ | |||
#define LAL_NAME "LAL" | #define LAL_NAME "LAL" | |||
#define LAL_VCS_ID "629da81d648f25098e4f7ab9d681c0aab833c2e5" | #define LAL_VCS_ID "ac12d6c15bf45da08381cf3d1eb119d6b613e278" | |||
#define LAL_VCS_DATE "2013-01-11 22:45:11 +0000" | #define LAL_VCS_DATE "2013-03-12 15:51:25 +0000" | |||
#define LAL_VCS_BRANCH "None" | #define LAL_VCS_BRANCH "lalsuite-v6.15_release_prep" | |||
#define LAL_VCS_TAG "lal-v6.9.1" | #define LAL_VCS_TAG "None" | |||
#define LAL_VCS_AUTHOR "Adam Mercer <adam.mercer@ligo.org>" | #define LAL_VCS_AUTHOR "Steffen Grunewald <steffen.grunewald@aei.mpg.de>" | |||
#define LAL_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>" | #define LAL_VCS_COMMITTER "Adam Mercer <adam.mercer@ligo.org>" | |||
#define LAL_VCS_STATUS "CLEAN: All modifications committed" | #define LAL_VCS_STATUS "CLEAN: All modifications committed" | |||
/* vcs information defines - identable*/ | /* vcs information defines - identable*/ | |||
#define LAL_VCS_IDENT_ID "$" "LALId: 629da81d648f25098e4f7ab9d681c0aab833c2 | #define LAL_VCS_IDENT_ID "$" "LALId: ac12d6c15bf45da08381cf3d1eb119d6b613e2 | |||
e5 " "$" | 78 " "$" | |||
#define LAL_VCS_IDENT_DATE "$" "LALDate: 2013-01-11 22:45:11 +0000 " "$" | #define LAL_VCS_IDENT_DATE "$" "LALDate: 2013-03-12 15:51:25 +0000 " "$" | |||
#define LAL_VCS_IDENT_BRANCH "$" "LALBranch: None " "$" | #define LAL_VCS_IDENT_BRANCH "$" "LALBranch: lalsuite-v6.15_release_prep " | |||
#define LAL_VCS_IDENT_TAG "$" "LALTag: lal-v6.9.1 " "$" | "$" | |||
#define LAL_VCS_IDENT_AUTHOR "$" "LALAuthor: Adam Mercer <adam.mercer@ligo. | #define LAL_VCS_IDENT_TAG "$" "LALTag: None " "$" | |||
org> " "$" | #define LAL_VCS_IDENT_AUTHOR "$" "LALAuthor: Steffen Grunewald <steffen.gru | |||
newald@aei.mpg.de> " "$" | ||||
#define LAL_VCS_IDENT_COMMITTER "$" "LALCommitter: Adam Mercer <adam.mercer @ligo.org> " "$" | #define LAL_VCS_IDENT_COMMITTER "$" "LALCommitter: Adam Mercer <adam.mercer @ligo.org> " "$" | |||
#define LAL_VCS_IDENT_STATUS "$" "LALStatus: CLEAN: All modifications commi tted " "$" | #define LAL_VCS_IDENT_STATUS "$" "LALStatus: CLEAN: All modifications commi tted " "$" | |||
/* header vcs information structure */ | /* header vcs information structure */ | |||
static const struct tagLALVCSInfo lalHeaderVCSInfo = { \ | static const struct tagLALVCSInfo lalHeaderVCSInfo = { \ | |||
LAL_NAME, \ | LAL_NAME, \ | |||
LAL_VERSION, \ | LAL_VERSION, \ | |||
LAL_VCS_ID, \ | LAL_VCS_ID, \ | |||
LAL_VCS_DATE, \ | LAL_VCS_DATE, \ | |||
LAL_VCS_BRANCH, \ | LAL_VCS_BRANCH, \ | |||
End of changes. 3 change blocks. | ||||
13 lines changed or deleted | 14 lines changed or added | |||
Segments.h | Segments.h | |||
---|---|---|---|---|
skipping to change at line 215 | skipping to change at line 215 | |||
LALSeg * | LALSeg * | |||
XLALSegListSearch( LALSegList *seglist, const LIGOTimeGPS *gps ); | XLALSegListSearch( LALSegList *seglist, const LIGOTimeGPS *gps ); | |||
INT4 | INT4 | |||
XLALSegListShift( LALSegList *seglist, const LIGOTimeGPS *shift ); | XLALSegListShift( LALSegList *seglist, const LIGOTimeGPS *shift ); | |||
INT4 | INT4 | |||
XLALSegListKeep( LALSegList *seglist, const LIGOTimeGPS *start, const LIGO TimeGPS *end ); | XLALSegListKeep( LALSegList *seglist, const LIGOTimeGPS *start, const LIGO TimeGPS *end ); | |||
int XLALSegListIsInitialized ( const LALSegList *seglist ); | ||||
int XLALSegListInitSimpleSegments ( LALSegList *seglist, LIGOTimeGPS startT | ||||
ime, UINT4 Nseg, REAL8 Tseg ); | ||||
char *XLALSegList2String ( const LALSegList *seglist ); | ||||
/*@}*/ | /*@}*/ | |||
#if 0 | #if 0 | |||
{ /* so that editors will match succeeding brace */ | { /* so that editors will match succeeding brace */ | |||
#elif defined(__cplusplus) | #elif defined(__cplusplus) | |||
} | } | |||
#endif /* C++ protection. */ | #endif /* C++ protection. */ | |||
#endif /* Double-include protection. */ | #endif /* Double-include protection. */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
SimulateCoherentGW.h | SimulateCoherentGW.h | |||
---|---|---|---|---|
/* | /* | |||
* Copyright (C) 2007 Jolien Creighton, Reinhard Prix, Teviet Creighton, Jo | * Copyright (C) 2007 Jolien Creighton, Reinhard Prix, Teviet Creighton, J | |||
hn Whelan | ohn Whelan | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | |||
* along with with program; see the file COPYING. If not, write to the | * along with with program; see the file COPYING. If not, write to the | |||
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |||
* MA 02111-1307 USA | * MA 02111-1307 USA | |||
*/ | */ | |||
#ifndef _SIMULATECOHERENTGW_H | #ifndef _SIMULATECOHERENTGW_H | |||
#define _SIMULATECOHERENTGW_H | #define _SIMULATECOHERENTGW_H | |||
#include <lal/LALStdlib.h> | #include <lal/LALStdlib.h> | |||
#include <lal/DetectorSite.h> | #include <lal/DetectorSite.h> | |||
#include <lal/SkyCoordinates.h> | #include <lal/SkyCoordinates.h> | |||
#include <lal/LALBarycenter.h> | #include <lal/LALBarycenter.h> | |||
#if defined(__cplusplus) | #if defined(__cplusplus) | |||
extern "C" { | extern "C" { | |||
#elif 0 | #elif 0 | |||
} /* so that editors will match preceding brace */ | } /* so that editors will match preceding brace */ | |||
#endif | #endif | |||
/** | /** | |||
\addtogroup SimulateCoherentGW_h | \addtogroup SimulateCoherentGW_h | |||
\author Creighton, T. D. | \author Creighton, T. D. | |||
\brief Provides routines to simulate generic gravitational waveforms | \brief Provides routines to simulate generic gravitational waveforms | |||
originating from a particular source. | originating from a particular source. | |||
\heading{Synopsis} | \heading{Synopsis} | |||
\code | \code | |||
#include <lal/SimulateCoherentGW.h> | #include <lal/SimulateCoherentGW.h> | |||
\endcode | \endcode | |||
This header covers generic routines and structures to represent and | This header covers generic routines and structures to represent and | |||
simulate the effects of a plane gravitational wave propagating from a | simulate the effects of a plane gravitational wave propagating from a | |||
distinct point on the sky. | distinct point on the sky. | |||
Any plane gravitational wave is specified by a direction | Any plane gravitational wave is specified by a direction | |||
\f$\mathbf{\hat{n}}\f$ to its apparent source (i.e.\ opposite to its direct | \f$\mathbf{\hat{n}}\f$ to its apparent source (i.e.\ opposite to its dir | |||
ion | ection | |||
of propagation), and by the inistantaneous values \f$h_+(t)\f$, | of propagation), and by the inistantaneous values \f$h_+(t)\f$, | |||
\f$h_\times(t)\f$ of its plus and cross polarizations as functions of | \f$h_\times(t)\f$ of its plus and cross polarizations as functions of | |||
(retarded) time \f$t=t_0+\mathbf{\hat{n}}\cdot(\mathbf{x}-\mathbf{x}_0)\f$, | (retarded) time \f$t=t_0+\mathbf{\hat{n}}\cdot(\mathbf{x}-\mathbf{x}_0)\ | |||
where | f$, where | |||
\f$t_0\f$ is the time measured at some local reference point \f$\mathbf{x}_ | \f$t_0\f$ is the time measured at some local reference point \f$\mathbf{ | |||
0\f$, | x}_0\f$, | |||
and \f$t\f$ is the time measured by a synchronized clock at \f$\mathbf{x}\f | and \f$t\f$ is the time measured by a synchronized clock at \f$\mathbf{x | |||
$. We | }\f$. We | |||
adopt the standard meaning of the instantaneous strain amplitudes | adopt the standard meaning of the instantaneous strain amplitudes | |||
\f$h_{+,\times}\f$: in some reference transverse \f$x\f$-\f$y\f$ coordinate | \f$h_{+,\times}\f$: in some reference transverse \f$x\f$-\f$y\f$ coordin | |||
system | ate system | |||
oriented such that \f$\mathbf{\hat{x}}\times\mathbf{\hat{y}}=-\mathbf{\hat{ | oriented such that \f$\mathbf{\hat{x}}\times\mathbf{\hat{y}}=-\mathbf{\h | |||
n}}\f$ | at{n}}\f$ | |||
points in the direction of propagation, two free observers originally | points in the direction of propagation, two free observers originally | |||
separated by a displacement \f$(x,y)\f$ will experience an additional | separated by a displacement \f$(x,y)\f$ will experience an additional | |||
tidal displacement \f$\delta x=(xh_+ + yh_\times)/2\f$, \f$\delta | tidal displacement \f$\delta x=(xh_+ + yh_\times)/2\f$, \f$\delta | |||
y=(xh_\times - yh_+)/2\f$. | y=(xh_\times - yh_+)/2\f$. | |||
\heading{Quasiperiodic waves:} Most astrophysical sources of | \heading{Quasiperiodic waves:} Most astrophysical sources of | |||
gravitational radiation are described as \e quasiperiodic (or, | gravitational radiation are described as \e quasiperiodic (or, | |||
less accurately, as "adiabatic"), in that they can be said to have | less accurately, as "adiabatic"), in that they can be said to have | |||
an instantaneous frequency, amplitude, and polarization, all of which | an instantaneous frequency, amplitude, and polarization, all of which | |||
vary on timescales much longer than a wave period. Mathematically we | vary on timescales much longer than a wave period. Mathematically we | |||
write this as: | write this as: | |||
\f[ | \f[ | |||
h_{+,\times}(t) = A_{+,\times}(t)\cos\phi(t) | h_{+,\times}(t) = A_{+,\times}(t)\cos\phi(t) | |||
+ B_{+,\times}(t)\sin\phi(t) \; , | + B_{+,\times}(t)\sin\phi(t) \; , | |||
\f] | \f] | |||
\wrapfig{r,0.47\textwidth,fig_phase_diagram} | \wrapfig{r,0.47\textwidth,fig_phase_diagram} | |||
\image html inject_phase_diagram.png "Fig. [fig_phase_diagram]: Polarizatio | \image html inject_phase_diagram.png "Fig. [fig_phase_diagram]: Polariza | |||
n phase diagram for a quasiperiodic gravitational wave. The phase point p(t | tion phase diagram for a quasiperiodic gravitational wave. The phase point | |||
) traces out the indicated ellipse in the h_+,h_x plane; the parameters A1, | p(t) traces out the indicated ellipse in the h_+,h_x plane; the parameters | |||
A2 and Phi remain roughly constant over many cycles in phi." | A1, A2 and Phi remain roughly constant over many cycles in phi." | |||
\image latex inject_phase_diagram.eps "Polarization phase diagram for a qua | \image latex inject_phase_diagram.eps "Polarization phase diagram for a | |||
siperiodic gravitational wave. The phase point p(t) traces out the indicate | quasiperiodic gravitational wave. The phase point p(t) traces out the indic | |||
d ellipse in the h_+,h_x plane; the parameters A1, A2 and Phi remain roughl | ated ellipse in the h_+,h_x plane; the parameters A1, A2 and Phi remain rou | |||
y constant over many cycles in phi." width=0.42\textwidth | ghly constant over many cycles in phi." width=0.42\textwidth | |||
where \f$\phi(t)=2\pi\int f(t)\,dt\f$, and the <em>evolution timescale</em> | where \f$\phi(t)=2\pi\int f(t)\,dt\f$, and the <em>evolution timescale</ | |||
\f$\tau=\min\{A/\dot{A},B/\dot{B},f/\dot{f}\}\f$ is much greater than | em> | |||
\f$h/\dot{h}\sim1/f\f$. Obviously it is mathematically impossible for the | \f$\tau=\min\{A/\dot{A},B/\dot{B},f/\dot{f}\}\f$ is much greater than | |||
physical functions \f$h_{+,\times}(t)\f$ to specify uniquely more than two | \f$h/\dot{h}\sim1/f\f$. Obviously it is mathematically impossible for t | |||
other functions of time; we rely on the notion of quasiperiodicity to | he | |||
define "natural" choices of instantaneous frequency and amplitude. | physical functions \f$h_{+,\times}(t)\f$ to specify uniquely more than t | |||
The ambiguity in this choice is on the order of the amount that these | wo | |||
quantities change over a cycle. | other functions of time; we rely on the notion of quasiperiodicity to | |||
define "natural" choices of instantaneous frequency and amplitude. | ||||
While the above formula appears to have five degrees of freedom (two | The ambiguity in this choice is on the order of the amount that these | |||
quadrature amplitudes \f$A\f$ and \f$B\f$ for each polarization, plus a com | quantities change over a cycle. | |||
mon | ||||
phase function \f$\phi\f$), there is a degeneracy between the two | While the above formula appears to have five degrees of freedom (two | |||
quadrature amplitudes and a shift in phase. One could simply treat | quadrature amplitudes \f$A\f$ and \f$B\f$ for each polarization, plus a | |||
each polarization independently and represent the system with two | common | |||
amplitude functions \f$A_{+,\times}\f$ and two phase functions | phase function \f$\phi\f$), there is a degeneracy between the two | |||
\f$\phi_{+,\times}\f$, but we would like to preserve the notion that the | quadrature amplitudes and a shift in phase. One could simply treat | |||
phases of the two waveforms derive from a single underlying | each polarization independently and represent the system with two | |||
instantaneous frequency. We therefore write the waveforms in terms of | amplitude functions \f$A_{+,\times}\f$ and two phase functions | |||
two polarization amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, a single phase | \f$\phi_{+,\times}\f$, but we would like to preserve the notion that the | |||
function \f$\phi(t)\f$, and a polarization shift \f$\Phi(t)\f$: | phases of the two waveforms derive from a single underlying | |||
\anchor eq_quasiperiodic_hplus \anchor eq_quasiperiodic_hcross \f{eqnarray} | instantaneous frequency. We therefore write the waveforms in terms of | |||
{ | two polarization amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, a single phas | |||
\label{eq_quasiperiodic_hplus} | e | |||
h_+(t) & = & A_1(t)\cos\Phi(t)\cos\phi(t) | function \f$\phi(t)\f$, and a polarization shift \f$\Phi(t)\f$: | |||
- A_2(t)\sin\Phi(t)\sin\phi(t) \; , \\ | \anchor eq_quasiperiodic_hpluscross \f{eqnarray}{ | |||
\label{eq_quasiperiodic_hcross} | \label{eq_quasiperiodic_hpluscross} | |||
h_\times(t) & = & A_1(t)\sin\Phi(t)\cos\phi(t) | h_+(t) & = & A_1(t)\cos\Phi(t)\cos\phi(t) | |||
+ A_2(t)\cos\Phi(t)\sin\phi(t) \; . | - A_2(t)\sin\Phi(t)\sin\phi(t) \; , \\ | |||
\f} | h_\times(t) & = & A_1(t)\sin\Phi(t)\cos\phi(t) | |||
The physical meaning of these functions is shown in Fig.\figref{fig_phase_d | + A_2(t)\cos\Phi(t)\sin\phi(t) \; . | |||
iagram}. | \f} | |||
The physical meaning of these functions is shown in Fig.\figref{fig_phas | ||||
There is a close relationship between the polarization shift \f$\Phi\f$ | e_diagram}. | |||
and the orientation of the \f$x\f$-\f$y\f$ coordinates used to define our | ||||
polarization basis: if we rotate the \f$x\f$ and \f$y\f$ axes by an angle | There is a close relationship between the polarization shift \f$\Phi\f$ | |||
\f$\Delta\psi\f$, we change \f$\Phi\f$ by an amount \f$-2\Delta\psi\f$. (T | and the orientation of the \f$x\f$-\f$y\f$ coordinates used to define ou | |||
he | r | |||
factor of 2 comes from the fact that the + and \f$\times\f$ modes are | polarization basis: if we rotate the \f$x\f$ and \f$y\f$ axes by an angl | |||
quadrupolar: a + mode rotated \f$45^\circ\f$ is a \f$\times\f$ mode, and a | e | |||
mode rotated \f$90^\circ\f$ is the opposite of itself.) We use the | \f$\Delta\psi\f$, we change \f$\Phi\f$ by an amount \f$-2\Delta\psi\f$. | |||
<em>polarization angle</em> \f$\psi\f$ to define the orientation of the | (The | |||
\f$x\f$-axis of the polarization basis relative to an Earth-fixed | factor of 2 comes from the fact that the + and \f$\times\f$ modes are | |||
reference frame (see the coordinate conventions below). If \f$\Phi\f$ is | quadrupolar: a + mode rotated \f$45^\circ\f$ is a \f$\times\f$ mode, and | |||
constant, one can redefine \f$\psi\f$ such that \f$\Phi=0\f$; however, when | a | |||
\f$\Phi\f$ changes with time, we would nonetheless like our polarization | mode rotated \f$90^\circ\f$ is the opposite of itself.) We use the | |||
basis to remain fixed. We therefore retain the constant \f$\psi\f$ and | <em>polarization angle</em> \f$\psi\f$ to define the orientation of the | |||
the function \f$\Phi(t)\f$ as distinct quantities. | \f$x\f$-axis of the polarization basis relative to an Earth-fixed | |||
reference frame (see the coordinate conventions below). If \f$\Phi\f$ i | ||||
The advantage of this quasiperiodic representation of a gravitational | s | |||
wave is that a physical sampling of the parameters \f$A_1\f$, \f$A_2\f$, | constant, one can redefine \f$\psi\f$ such that \f$\Phi=0\f$; however, w | |||
\f$\phi\f$, and \f$\Phi\f$ need only be done on timescales \f$\Delta | hen | |||
t\lesssim\tau\f$, whereas the actual wave functions \f$h_{+,\times}\f$ need | \f$\Phi\f$ changes with time, we would nonetheless like our polarization | |||
to be sampled on timescales \f$\Delta t\lesssim1/f\f$. | basis to remain fixed. We therefore retain the constant \f$\psi\f$ and | |||
the function \f$\Phi(t)\f$ as distinct quantities. | ||||
The following coordinate conventions are assumed: | ||||
<ol> | The advantage of this quasiperiodic representation of a gravitational | |||
<li> Fig. 7 of [\ref Will_C_1996] defines standard coordinate | wave is that a physical sampling of the parameters \f$A_1\f$, \f$A_2\f$, | |||
conventions for nonprecessing binaries, and by extension, for any | \f$\phi\f$, and \f$\Phi\f$ need only be done on timescales \f$\Delta | |||
fixed-axis rotating source: If \f$\mathbf{\hat{z}}\f$ points in the directi | t\lesssim\tau\f$, whereas the actual wave functions \f$h_{+,\times}\f$ n | |||
on | eed | |||
of wave propagation (away from the source), and \f$\mathbf{\hat{l}}\f$ poin | to be sampled on timescales \f$\Delta t\lesssim1/f\f$. | |||
ts | ||||
in the (constant) direction of the source's angular momentum vector, | The following coordinate conventions are assumed: | |||
then the \f$x\f$-\f$y\f$ coordinates used to define the + and \f$\times\f$ | <ol> | |||
polarizations are given by \f$\mathbf{\hat{x}}=|\csc | <li> Fig. 7 of [\ref Will_C_1996] defines standard coordinate | |||
i|\mathbf{\hat{z}}\times\mathbf{\hat{l}}\f$ and | conventions for nonprecessing binaries, and by extension, for any | |||
\f$\mathbf{\hat{y}}=\mathbf{\hat{z}}\times\mathbf{\hat{x}}\f$, where | fixed-axis rotating source: If \f$\mathbf{\hat{z}}\f$ points in the dire | |||
\f$i=\arccos(\mathbf{\hat{z}}\cdot\mathbf{\hat{l}})\f$ is the inclination a | ction | |||
ngle | of wave propagation (away from the source), and \f$\mathbf{\hat{l}}\f$ p | |||
between \f$\mathbf{\hat{l}}\f$ and \f$\mathbf{\hat{z}}\f$. Such a system w | oints | |||
ill | in the (constant) direction of the source's angular momentum vector, | |||
generically have \f$A_1(t)=A(t)(1+\cos^2i)\f$, \f$A_2(t)=2A(t)\cos i\f$, | then the \f$x\f$-\f$y\f$ coordinates used to define the + and \f$\times\ | |||
\f$\Phi(t)=0\f$, and \f$f(t)>0\f$ (i.e.\ \f$\phi(t)\f$ increasing with time | f$ | |||
). For | polarizations are given by \f$\mathbf{\hat{x}}=|\csc | |||
precessing systems, prescriptions for \f$\mathbf{\hat{x}}\f$ and | i|\mathbf{\hat{z}}\times\mathbf{\hat{l}}\f$ and | |||
\f$\mathbf{\hat{y}}\f$ become ambiguous, but they \e must be fixed; the | \f$\mathbf{\hat{y}}=\mathbf{\hat{z}}\times\mathbf{\hat{x}}\f$, where | |||
relations for \f$A_1\f$, \f$A_2\f$, and \f$\Phi\f$ will no longer be mainta | \f$i=\arccos(\mathbf{\hat{z}}\cdot\mathbf{\hat{l}})\f$ is the inclinatio | |||
ined.</li> | n angle | |||
between \f$\mathbf{\hat{l}}\f$ and \f$\mathbf{\hat{z}}\f$. Such a syste | ||||
<li> Appendix B of [\ref Anderson_W2000] defines a convention for | m will | |||
the overal polarization angle \f$\psi\f$: Let \f$\mathbf{\hat{N}}\f$ be the | generically have \f$A_1(t)=A(t)(1+\cos^2i)\f$, \f$A_2(t)=2A(t)\cos i\f$, | |||
direction of the Earth's north celestial pole, and define the | \f$\Phi(t)=0\f$, and \f$f(t)>0\f$ (i.e.\ \f$\phi(t)\f$ increasing with t | |||
direction of the <em>ascending node</em> | ime). For | |||
\f$\mathbf{\hat{\Omega}}=|\csc\alpha|\mathbf{\hat{N}}\times\mathbf{\hat{z}} | precessing systems, prescriptions for \f$\mathbf{\hat{x}}\f$ and | |||
\f$, where | \f$\mathbf{\hat{y}}\f$ become ambiguous, but they \e must be fixed; the | |||
\f$\alpha\f$ is the right ascension of the source. Then \f$\psi\f$ is the | relations for \f$A_1\f$, \f$A_2\f$, and \f$\Phi\f$ will no longer be mai | |||
angle, right-handed about \f$\mathbf{\hat{z}}\f$, from \f$\mathbf{\hat{\Ome | ntained.</li> | |||
ga}}\f$ to | ||||
\f$\mathbf{\hat{x}}\f$.</li> | <li> Appendix B of [\ref Anderson_W2000] defines a convention for | |||
the overal polarization angle \f$\psi\f$: Let \f$\mathbf{\hat{N}}\f$ be | ||||
<li> The direction of propagation of the wave is defined by the right | the | |||
ascension \f$\alpha\f$ and declination \f$\delta\f$ of the \e source, as | direction of the Earth's north celestial pole, and define the | |||
seen from the point of measurement. See \ref SkyCoordinates_h for a | direction of the <em>ascending node</em> | |||
definition of these quantities. We expect that these will be | \f$\mathbf{\hat{\Omega}}=|\csc\alpha|\mathbf{\hat{N}}\times\mathbf{\hat{ | |||
effectively constant for almost any gravitational wave source of | z}}\f$, where | |||
interest.</li> | \f$\alpha\f$ is the right ascension of the source. Then \f$\psi\f$ is t | |||
</ol> | he | |||
angle, right-handed about \f$\mathbf{\hat{z}}\f$, from \f$\mathbf{\hat{\ | ||||
\heading{The polarization response:} The relative strain induced in | Omega}}\f$ to | |||
the test masses of a detector by a passing gravitational wave depends | \f$\mathbf{\hat{x}}\f$.</li> | |||
not only on the amplitudes \f$h_{+,\times}\f$ of the gravitational wave, | ||||
but also on the design of the detector and its orientation with | <li> The direction of propagation of the wave is defined by the right | |||
relative to the \f$x\f$-\f$y\f$ coordinate system used to define the + and | ascension \f$\alpha\f$ and declination \f$\delta\f$ of the \e source, as | |||
\f$\times\f$ polarizations. For a given detector, the response to each | seen from the point of measurement. See \ref SkyCoordinates_h for a | |||
polarization thus depends on the right ascension \f$\alpha\f$, declination | definition of these quantities. We expect that these will be | |||
\f$\delta\f$, and polarization angle \f$\psi\f$ of the source (which define | effectively constant for almost any gravitational wave source of | |||
the orientation of the + and \f$\times\f$ polarization axes relative to | interest.</li> | |||
the Earth), and on the time \f$t\f$ (which determines the orientation of | </ol> | |||
the detector as the Earth rotates). The strain \f$h(t)\f$ induced in the | ||||
detector is thus given by two polarization response functions | \heading{The polarization response:} The relative strain induced in | |||
\f$F_{+,\times}(\alpha,\delta,\psi;t)\f$ by: | the test masses of a detector by a passing gravitational wave depends | |||
\f[ | not only on the amplitudes \f$h_{+,\times}\f$ of the gravitational wave, | |||
h(t) = h_+(t)F_+(\alpha,\delta,\psi;t) + | but also on the design of the detector and its orientation with | |||
h_\times(t)F_\times(\alpha,\delta,\psi;t) \; . | relative to the \f$x\f$-\f$y\f$ coordinate system used to define the + a | |||
\f] | nd | |||
We will not discuss the computation of these functions \f$F_{+,\times}\f$, | \f$\times\f$ polarizations. For a given detector, the response to each | |||
as these are covered under the header \ref DetResponse_h. | polarization thus depends on the right ascension \f$\alpha\f$, declinati | |||
on | ||||
\heading{The transfer function:} All gravitational wave detectors | \f$\delta\f$, and polarization angle \f$\psi\f$ of the source (which def | |||
incorporate a set of analog and digital filters that convert a | ine | |||
gravitational excitation on the test masses into a measurable output | the orientation of the + and \f$\times\f$ polarization axes relative to | |||
time series. The effects of these functions are aggregated into a | the Earth), and on the time \f$t\f$ (which determines the orientation of | |||
complex-valued <em>transfer function</em> \f${\cal T}(f)\f$, which gives th | the detector as the Earth rotates). The strain \f$h(t)\f$ induced in th | |||
e | e | |||
instrumental response (in units of "counts" from an | detector is thus given by two polarization response functions | |||
analog\f$\rightarrow\f$digital converter) to gravitational waves of unit | \f$F_{+,\times}(\alpha,\delta,\psi;t)\f$ by: | |||
amplitued at the frequency \f$f\f$. Specifically, if the strain exerted | \f[ | |||
on the antenna is given by \f$h(t)=\mathrm{Re}[{\cal H}e^{2\pi ift}]\f$ | h(t) = h_+(t)F_+(\alpha,\delta,\psi;t) + | |||
(where the complex amplitude \f$\cal H\f$ includes the phase of the wave), | h_\times(t)F_\times(\alpha,\delta,\psi;t) \; . | |||
then the ADC output of the instrument is given by: | \f] | |||
\f[ | We will not discuss the computation of these functions \f$F_{+,\times}\f | |||
o(t) = \mathrm{Re}\left[ {\cal T}(f) {\cal H}e^{2\pi ift} \right] \; . | $, | |||
\f] | as these are covered under the header \ref DetResponse_h. | |||
The transfer function has a strong frequency dependence in order to | ||||
"whiten" the highly-coloured instrumental noise, and thus preserve | \heading{The transfer function:} All gravitational wave detectors | |||
instrumental sensitivity across a broad band of frequencies. | incorporate a set of analog and digital filters that convert a | |||
gravitational excitation on the test masses into a measurable output | ||||
We note that although the transfer function measures the response of | time series. The effects of these functions are aggregated into a | |||
the instrument to a gravitational wave, the term <em>response | complex-valued <em>transfer function</em> \f${\cal T}(f)\f$, which gives | |||
function</em> refers to inverse transformation of taking an instrumental | the | |||
response and computing a gravitational waveform; that is, \f${\cal | instrumental response (in units of "counts" from an | |||
R}(f)=1/{\cal T}(f)\f$. This confusing bit of nomenclature arises from | analog\f$\rightarrow\f$digital converter) to gravitational waves of unit | |||
the fact that most data analysis deals with extracting gravitational | amplitued at the frequency \f$f\f$. Specifically, if the strain exerted | |||
waveforms from the instrumental output, rather than injecting | on the antenna is given by \f$h(t)=\mathrm{Re}[{\cal H}e^{2\pi ift}]\f$ | |||
waveforms into the output. | (where the complex amplitude \f$\cal H\f$ includes the phase of the wave | |||
), | ||||
For quasiperiodic waveforms with a well-defined instantaneous | then the ADC output of the instrument is given by: | |||
frequency \f$f(t)\f$ and phase \f$\phi(t)\f$, we can compute the response o | \f[ | |||
f | o(t) = \mathrm{Re}\left[ {\cal T}(f) {\cal H}e^{2\pi ift} \right] \; . | |||
the instrument entirely in the time domain in the adiabatic limit: if | \f] | |||
our instrumental excitation is a linear superposition of waveforms | The transfer function has a strong frequency dependence in order to | |||
\f$h(t)=\mathrm{Re}[{\cal H}(t)e^{i\phi(t)}]\f$, then the output is a | "whiten" the highly-coloured instrumental noise, and thus preserve | |||
superposition of waves of the form | instrumental sensitivity across a broad band of frequencies. | |||
\f[ | ||||
o(t) \approx \mathrm{Re}\left[ {\cal T}\{f(t)\} | We note that although the transfer function measures the response of | |||
{\cal H}(t)e^{i\phi(t)} \right] \; . | the instrument to a gravitational wave, the term <em>response | |||
\f] | function</em> refers to inverse transformation of taking an instrumental | |||
This expression is approximate to the extent that \f${\cal T}(f)\f$ varies | response and computing a gravitational waveform; that is, \f${\cal | |||
over the range \f$f\pm1/\tau\f$, where \f$\tau\f$ is the evolution timescal | R}(f)=1/{\cal T}(f)\f$. This confusing bit of nomenclature arises from | |||
e | the fact that most data analysis deals with extracting gravitational | |||
of \f${\cal H}(t)\f$ and \f$f(t)\f$. Since the transfer function and | waveforms from the instrumental output, rather than injecting | |||
polarization response (above) are linear operators, we can apply them | waveforms into the output. | |||
in either order. | ||||
For quasiperiodic waveforms with a well-defined instantaneous | ||||
\heading{A note on terminology:} We use the word "coherent" in the | frequency \f$f(t)\f$ and phase \f$\phi(t)\f$, we can compute the respons | |||
name of this header in the loosest possible sense, refering to any | e of | |||
wave with a well-defined direction of propagation, whose wave | the instrument entirely in the time domain in the adiabatic limit: if | |||
amplitudes \f$h_{+,\times}\f$ are deterministic functions of retarded | our instrumental excitation is a linear superposition of waveforms | |||
time. Given a knowledge of these parameters, such a waveform is | \f$h(t)=\mathrm{Re}[{\cal H}(t)e^{i\phi(t)}]\f$, then the output is a | |||
amenable to "coherent" detection in a network of detectors, through | superposition of waves of the form | |||
time-shifted matched filtering. | \f[ | |||
o(t) \approx \mathrm{Re}\left[ {\cal T}\{f(t)\} | ||||
However, coherence is often used to refer to a more restricted class | {\cal H}(t)e^{i\phi(t)} \right] \; . | |||
of waveforms that are "effectively monochromatic" over some | \f] | |||
coherence timescale \f$t_\mathrm{coh}\f$; i.e.\ in any timespan | This expression is approximate to the extent that \f${\cal T}(f)\f$ vari | |||
\f$t_\mathrm{coh}\f$ there is a fixed-frequency sinusoid that is never | es | |||
more than \f$90^\circ\f$ out of phase with the waveform. This is more | over the range \f$f\pm1/\tau\f$, where \f$\tau\f$ is the evolution times | |||
retrictive even than our concept of quasiperiodic waves; for | cale | |||
smoothly-varying waveforms one has \f$t_\mathrm{coh}\sim\dot{f}^{-1/2}\f$, | of \f${\cal H}(t)\f$ and \f$f(t)\f$. Since the transfer function and | |||
which is much shorter than the evolution timescale \f$\tau\sim | polarization response (above) are linear operators, we can apply them | |||
f/\dot{f}\f$ (provided \f$\tau\gg1/f\f$, as we have assumed). | in either order. | |||
\heading{A note on terminology:} We use the word "coherent" in the | ||||
name of this header in the loosest possible sense, refering to any | ||||
wave with a well-defined direction of propagation, whose wave | ||||
amplitudes \f$h_{+,\times}\f$ are deterministic functions of retarded | ||||
time. Given a knowledge of these parameters, such a waveform is | ||||
amenable to "coherent" detection in a network of detectors, through | ||||
time-shifted matched filtering. | ||||
However, coherence is often used to refer to a more restricted class | ||||
of waveforms that are "effectively monochromatic" over some | ||||
coherence timescale \f$t_\mathrm{coh}\f$; i.e.\ in any timespan | ||||
\f$t_\mathrm{coh}\f$ there is a fixed-frequency sinusoid that is never | ||||
more than \f$90^\circ\f$ out of phase with the waveform. This is more | ||||
retrictive even than our concept of quasiperiodic waves; for | ||||
smoothly-varying waveforms one has \f$t_\mathrm{coh}\sim\dot{f}^{-1/2}\f | ||||
$, | ||||
which is much shorter than the evolution timescale \f$\tau\sim | ||||
f/\dot{f}\f$ (provided \f$\tau\gg1/f\f$, as we have assumed). | ||||
*/ | */ | |||
/*@{*/ | /*@{*/ | |||
/** \name Error Codes */ | /** \name Error Codes */ | |||
/*@{*/ | /*@{*/ | |||
#define SIMULATECOHERENTGWH_ENUL 1 /**< Unexpected null pointer in argu ments */ | #define SIMULATECOHERENTGWH_ENUL 1 /**< Unexpected null pointer in argu ments */ | |||
#define SIMULATECOHERENTGWH_EBAD 2 /**< A sampling interval is (effecti vely) zero */ | #define SIMULATECOHERENTGWH_EBAD 2 /**< A sampling interval is (effecti vely) zero */ | |||
#define SIMULATECOHERENTGWH_ESIG 3 /**< Input signal must specify ampli tude and phase functions */ | #define SIMULATECOHERENTGWH_ESIG 3 /**< Input signal must specify ampli tude and phase functions */ | |||
#define SIMULATECOHERENTGWH_EDIM 4 /**< Amplitude must be a 2-dimension al vector */ | #define SIMULATECOHERENTGWH_EDIM 4 /**< Amplitude must be a 2-dimension al vector */ | |||
skipping to change at line 294 | skipping to change at line 293 | |||
* | * | |||
*/ | */ | |||
typedef struct tagCoherentGW { | typedef struct tagCoherentGW { | |||
SkyPosition position; /**< The location of the source in the sky; thi s should be in equatorial celestial coordinates, but routines may be able t o do the conversion */ | SkyPosition position; /**< The location of the source in the sky; thi s should be in equatorial celestial coordinates, but routines may be able t o do the conversion */ | |||
REAL4 psi; /**< The polarization angle \f$\psi\f$, in radi ans, as defined in Appendix B of [\ref Anderson_W2000] */ | REAL4 psi; /**< The polarization angle \f$\psi\f$, in radi ans, as defined in Appendix B of [\ref Anderson_W2000] */ | |||
REAL4TimeVectorSeries *h; /**< A time-sampled two-dimensional vector stor ing the waveforms \f$h_+(t)\f$ and \f$h_\times(t)\f$, in dimensionless stra in */ | REAL4TimeVectorSeries *h; /**< A time-sampled two-dimensional vector stor ing the waveforms \f$h_+(t)\f$ and \f$h_\times(t)\f$, in dimensionless stra in */ | |||
REAL4TimeVectorSeries *a; /**< A time-sampled two-dimensional vector stor ing the amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, in dimensionless strain * / | REAL4TimeVectorSeries *a; /**< A time-sampled two-dimensional vector stor ing the amplitudes \f$A_1(t)\f$ and \f$A_2(t)\f$, in dimensionless strain * / | |||
REAL4TimeSeries *f; /**< A time-sampled sequence storing the instan taneous frequency \f$f(t)\f$, in Hz. */ | REAL4TimeSeries *f; /**< A time-sampled sequence storing the instan taneous frequency \f$f(t)\f$, in Hz. */ | |||
REAL8TimeSeries *phi; /**< A time-sampled sequence storing the phase function \f$\phi(t)\f$, in radians */ | REAL8TimeSeries *phi; /**< A time-sampled sequence storing the phase function \f$\phi(t)\f$, in radians */ | |||
REAL4TimeSeries *shift; /**< A time-sampled sequence storing the polari zation shift \f$\Phi(t)\f$, in radians */ | REAL4TimeSeries *shift; /**< A time-sampled sequence storing the polari zation shift \f$\Phi(t)\f$, in radians */ | |||
UINT4 dtDelayBy2; /**< A user specified half-interval time step f | ||||
or the Doppler delay look-up table (will default to 400s if set to 0) */ | ||||
UINT4 dtPolBy2; /**< A user defined half-interval time step for | ||||
the polarisation response look-up table (will default to 300s if set to 0) | ||||
*/ | ||||
} CoherentGW; | } CoherentGW; | |||
/** This structure contains information required to determine the response | /** This structure contains information required to determine the response | |||
* of a detector to a gravitational waveform. | * of a detector to a gravitational waveform. | |||
*/ | */ | |||
typedef struct tagDetectorResponse { | typedef struct tagDetectorResponse { | |||
COMPLEX8FrequencySeries *transfer; /**< The frequency-dependent transfe r function of the interferometer, in ADC counts per unit strain amplitude a t any given frequency; | COMPLEX8FrequencySeries *transfer; /**< The frequency-dependent transf er function of the interferometer, in ADC counts per unit strain amplitude at any given frequency; | |||
* if absent, the response will be given in raw strain rather than ADC output */ | * if absent, the response will be given in raw strain rather than ADC output */ | |||
LALDetector *site; /**< A structure storing sit e and polarization information, used to compute the polarization response a nd the propagation delay; | LALDetector *site; /**< A structure storing site and p olarization information, used to compute the polarization response and the propagation delay; | |||
* if absent, the response will be computed to the plus mode waveform with no time delay */ | * if absent, the response will be computed to the plus mode waveform with no time delay */ | |||
EphemerisData *ephemerides; /**< A structure storing the positions, velocities, and accelerations of the Earth and Sun centres of m ass, used to compute | EphemerisData *ephemerides; /**< A structure storing the positi ons, velocities, and accelerations of the Earth and Sun centres of mass, us ed to compute | |||
* the propagation delay to the sol ar system barycentre; | * the propagation delay to the sol ar system barycentre; | |||
* if absent, the propagation delay will be computed to the Earth centre (rather than a true barycentre) */ | * if absent, the propagation delay will be computed to the Earth centre (rather than a true barycentre) */ | |||
LIGOTimeGPS heterodyneEpoch; /**< A reference time for he terodyned detector output time series, where the phase of the mixing signal is zero. | LIGOTimeGPS heterodyneEpoch; /**< A reference time for heterodyn ed detector output time series, where the phase of the mixing signal is zer o. | |||
* This parameter is only used when generating detector output time series with nonzero heterodyne frequency \ c f0. | * This parameter is only used when generating detector output time series with nonzero heterodyne frequency \ c f0. | |||
* (Note: This should really be a p arameter stored in the \c TimeSeries structure along with \c f0, but it isn t, so we | * (Note: This should really be a p arameter stored in the \c TimeSeries structure along with \c f0, but it isn t, so we | |||
* have to add it here.) | * have to add it here.) | |||
*/ | */ | |||
} DetectorResponse; | } DetectorResponse; | |||
/* Function prototypes. */ | /* Function prototypes. */ | |||
void | void | |||
LALSimulateCoherentGW( LALStatus *status, | LALSimulateCoherentGW( LALStatus *status, | |||
REAL4TimeSeries *output, | REAL4TimeSeries *output, | |||
CoherentGW *input, | CoherentGW *input, | |||
DetectorResponse *detector ); | DetectorResponse *detector ); | |||
/*@}*/ | /*@}*/ | |||
#if 0 | #if 0 | |||
{ /* so that editors will match succeeding brace */ | { /* so that editors will match succeeding brace */ | |||
#elif defined(__cplusplus) | #elif defined(__cplusplus) | |||
} | } | |||
#endif | #endif | |||
#endif /* _SIMULATECOHERENTGW_H */ | #endif /* _SIMULATECOHERENTGW_H */ | |||
End of changes. 10 change blocks. | ||||
262 lines changed or deleted | 286 lines changed or added | |||
Window.h | Window.h | |||
---|---|---|---|---|
skipping to change at line 256 | skipping to change at line 256 | |||
REAL8Window *XLALCreateGaussREAL8Window(UINT4 length, REAL8 beta); | REAL8Window *XLALCreateGaussREAL8Window(UINT4 length, REAL8 beta); | |||
void XLALDestroyREAL4Window(REAL4Window *window); | void XLALDestroyREAL4Window(REAL4Window *window); | |||
void XLALDestroyREAL8Window(REAL8Window *window); | void XLALDestroyREAL8Window(REAL8Window *window); | |||
REAL4Sequence *XLALUnitaryWindowREAL4Sequence(REAL4Sequence *sequence, cons t REAL4Window *window); | REAL4Sequence *XLALUnitaryWindowREAL4Sequence(REAL4Sequence *sequence, cons t REAL4Window *window); | |||
COMPLEX8Sequence *XLALUnitaryWindowCOMPLEX8Sequence(COMPLEX8Sequence *seque nce, const REAL4Window *window); | COMPLEX8Sequence *XLALUnitaryWindowCOMPLEX8Sequence(COMPLEX8Sequence *seque nce, const REAL4Window *window); | |||
REAL8Sequence *XLALUnitaryWindowREAL8Sequence(REAL8Sequence *sequence, cons t REAL8Window *window); | REAL8Sequence *XLALUnitaryWindowREAL8Sequence(REAL8Sequence *sequence, cons t REAL8Window *window); | |||
COMPLEX16Sequence *XLALUnitaryWindowCOMPLEX16Sequence(COMPLEX16Sequence *se quence, const REAL8Window *window); | COMPLEX16Sequence *XLALUnitaryWindowCOMPLEX16Sequence(COMPLEX16Sequence *se quence, const REAL8Window *window); | |||
REAL8Window *XLALCreateNamedREAL8Window ( const char *windowName, REAL8 bet | ||||
a, UINT4 length ); | ||||
REAL4Window *XLALCreateNamedREAL4Window ( const char *windowName, REAL8 bet | ||||
a, UINT4 length ); | ||||
/*@}*/ | /*@}*/ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* _WINDOW_H */ | #endif /* _WINDOW_H */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
XLALError.h | XLALError.h | |||
---|---|---|---|---|
skipping to change at line 729 | skipping to change at line 729 | |||
* Prototype: <b>XLAL_CHECK_REAL8(assertion, errnum [, fmt [, ...]])</b> | * Prototype: <b>XLAL_CHECK_REAL8(assertion, errnum [, fmt [, ...]])</b> | |||
* | * | |||
* \b Parameters:<ul> | * \b Parameters:<ul> | |||
* <li> \b assertion The assertion to test. | * <li> \b assertion The assertion to test. | |||
* <li> \b errnum The XLAL error number to set if the assertion is false. | * <li> \b errnum The XLAL error number to set if the assertion is false. | |||
* <li> \b fmt (Optional) Format string for additional error information. | * <li> \b fmt (Optional) Format string for additional error information. | |||
* <li> \b ... (Optional) Additional arguments for printf-like format. | * <li> \b ... (Optional) Additional arguments for printf-like format. | |||
* </ul> | * </ul> | |||
*/ | */ | |||
#define XLAL_CHECK_REAL8(assertion, ...) \ | #define XLAL_CHECK_REAL8(assertion, ...) \ | |||
XLAL_CHECK_VAL(XLAL_REAL4_FAIL_NAN, assertion, __VA_ARGS__) | XLAL_CHECK_VAL(XLAL_REAL8_FAIL_NAN, assertion, __VA_ARGS__) | |||
/*@}*/ | /*@}*/ | |||
#if 0 | #if 0 | |||
{ /* so that editors will match succeeding brace */ | { /* so that editors will match succeeding brace */ | |||
#elif defined(__cplusplus) | #elif defined(__cplusplus) | |||
} | } | |||
#endif | #endif | |||
#endif /* XLALERROR_H */ | #endif /* XLALERROR_H */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
swiglal_common.i | swiglal_common.i | |||
---|---|---|---|---|
skipping to change at line 165 | skipping to change at line 165 | |||
// Version of SWIG used to generate wrapping code. | // Version of SWIG used to generate wrapping code. | |||
%inline %{const int swig_version = SWIG_VERSION;%} | %inline %{const int swig_version = SWIG_VERSION;%} | |||
// Whether wrapping code was generated in debug mode. | // Whether wrapping code was generated in debug mode. | |||
#ifdef NDEBUG | #ifdef NDEBUG | |||
%inline %{const bool swig_debug = false;%} | %inline %{const bool swig_debug = false;%} | |||
#else | #else | |||
%inline %{const bool swig_debug = true;%} | %inline %{const bool swig_debug = true;%} | |||
#endif | #endif | |||
// Constructors for GSL complex numbers. | // Constructors for GSL complex numbers, if required. | |||
#ifdef HAVE_LIBGSL | ||||
%header %{ | %header %{ | |||
#include <gsl/gsl_complex_math.h> // provides gsl_complex_rect() | #include <gsl/gsl_complex_math.h> // provides gsl_complex_rect() | |||
SWIGINTERNINLINE gsl_complex_float gsl_complex_float_rect(float x, float y) { | SWIGINTERNINLINE gsl_complex_float gsl_complex_float_rect(float x, float y) { | |||
gsl_complex_float z; | gsl_complex_float z; | |||
GSL_SET_COMPLEX(&z, x, y); | GSL_SET_COMPLEX(&z, x, y); | |||
return z; | return z; | |||
} | } | |||
%} | %} | |||
#endif | ||||
// Convert XLAL/LAL errors into native scripting-language exceptions: | // Convert XLAL/LAL errors into native scripting-language exceptions: | |||
// - XLAL: Before performing any action, clear the XLAL error number. | // - XLAL: Before performing any action, clear the XLAL error number. | |||
// Check it after the action is performed; if it is non-zero, raise | // Check it after the action is performed; if it is non-zero, raise | |||
// a native scripting-language exception with the appropriate XLAL | // a native scripting-language exception with the appropriate XLAL | |||
// error message. | // error message. | |||
// - LAL: For any function which has a LALStatus* argument, create a | // - LAL: For any function which has a LALStatus* argument, create a | |||
// blank LALStatus struct and pass its pointer to the LAL function. | // blank LALStatus struct and pass its pointer to the LAL function. | |||
// After the function is called, check the LALStatus statusCode; | // After the function is called, check the LALStatus statusCode; | |||
// if it is non-zero, raise a generic XLAL error (to set the XLAL | // if it is non-zero, raise a generic XLAL error (to set the XLAL | |||
skipping to change at line 993 | skipping to change at line 995 | |||
%set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $descriptor, (%newpoi nter_flags) & ~SWIG_POINTER_OWN)); | %set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $descriptor, (%newpoi nter_flags) & ~SWIG_POINTER_OWN)); | |||
} | } | |||
%typemap(varout, noblock=1) SWIGTYPE { | %typemap(varout, noblock=1) SWIGTYPE { | |||
%set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $&descriptor, (%newpo inter_flags) & ~SWIG_POINTER_OWN)); | %set_varoutput(SWIG_NewPointerObj(%as_voidptr(&$1), $&descriptor, (%newpo inter_flags) & ~SWIG_POINTER_OWN)); | |||
} | } | |||
// Typemaps for pointers to primitive scalars. These are treated as output- only | // Typemaps for pointers to primitive scalars. These are treated as output- only | |||
// arguments by default, by globally applying the SWIG OUTPUT typemaps. The INOUT | // arguments by default, by globally applying the SWIG OUTPUT typemaps. The INOUT | |||
// typemaps can be supplied as needed using the SWIGLAL(INOUT_SCALARS(TYPE, ...)) macro. | // typemaps can be supplied as needed using the SWIGLAL(INOUT_SCALARS(TYPE, ...)) macro. | |||
%apply int* OUTPUT { enum SWIGTYPE* }; | %apply int* OUTPUT { enum SWIGTYPE* }; | |||
%apply signed char* OUTPUT { INT2* }; | ||||
%apply unsigned char* OUTPUT { UINT2* }; | ||||
%apply short* OUTPUT { short* }; | %apply short* OUTPUT { short* }; | |||
%apply unsigned short* OUTPUT { unsigned short* }; | %apply unsigned short* OUTPUT { unsigned short* }; | |||
%apply int* OUTPUT { int* }; | %apply int* OUTPUT { int* }; | |||
%apply unsigned int* OUTPUT { unsigned int* }; | %apply unsigned int* OUTPUT { unsigned int* }; | |||
%apply long* OUTPUT { long* }; | %apply long* OUTPUT { long* }; | |||
%apply unsigned long* OUTPUT { unsigned long* }; | %apply unsigned long* OUTPUT { unsigned long* }; | |||
%apply long long* OUTPUT { long long* }; | %apply long long* OUTPUT { long long* }; | |||
%apply unsigned long long* OUTPUT { unsigned long long* }; | %apply unsigned long long* OUTPUT { unsigned long long* }; | |||
%apply float* OUTPUT { float* }; | %apply float* OUTPUT { float* }; | |||
%apply double* OUTPUT { double* }; | %apply double* OUTPUT { double* }; | |||
%apply int8_t* OUTPUT { int8_t* }; | ||||
%apply uint8_t* OUTPUT { uint8_t* }; | ||||
%apply int16_t* OUTPUT { int16_t* }; | ||||
%apply uint16_t* OUTPUT { uint16_t* }; | ||||
%apply int32_t* OUTPUT { int32_t* }; | ||||
%apply uint32_t* OUTPUT { uint32_t* }; | ||||
%apply int64_t* OUTPUT { int64_t* }; | ||||
%apply uint64_t* OUTPUT { uint64_t* }; | ||||
%apply gsl_complex_float* OUTPUT { gsl_complex_float* }; | %apply gsl_complex_float* OUTPUT { gsl_complex_float* }; | |||
%apply gsl_complex* OUTPUT { gsl_complex* }; | %apply gsl_complex* OUTPUT { gsl_complex* }; | |||
%apply COMPLEX8* OUTPUT { COMPLEX8* }; | %apply COMPLEX8* OUTPUT { COMPLEX8* }; | |||
%apply COMPLEX16* OUTPUT { COMPLEX16* }; | %apply COMPLEX16* OUTPUT { COMPLEX16* }; | |||
%define %swiglal_public_INOUT_SCALARS(TYPE, ...) | %define %swiglal_public_INOUT_SCALARS(TYPE, ...) | |||
%swiglal_map_ab(%swiglal_apply, TYPE INOUT, TYPE, __VA_ARGS__); | %swiglal_map_ab(%swiglal_apply, TYPE INOUT, TYPE, __VA_ARGS__); | |||
%enddef | %enddef | |||
%define %swiglal_public_clear_INOUT_SCALARS(TYPE, ...) | %define %swiglal_public_clear_INOUT_SCALARS(TYPE, ...) | |||
%swiglal_map_a(%swiglal_clear, TYPE, __VA_ARGS__); | %swiglal_map_a(%swiglal_clear, TYPE, __VA_ARGS__); | |||
%enddef | %enddef | |||
End of changes. 4 change blocks. | ||||
3 lines changed or deleted | 11 lines changed or added | |||