CoarseGrainFrequencySeries.h   CoarseGrainFrequencySeries.h 
/*********************** <lalVerbatim file="CoarseGrainFrequencySeriesHV"> /*********************** <lalVerbatim file="CoarseGrainFrequencySeriesHV">
Author: UTB Relativity Group; contact whelan@oates.utb.edu (original by S. Author: UTB Relativity Group; contact whelan@phys.utb.edu (original by S. D
Drasco) rasco)
$Id: CoarseGrainFrequencySeries.h,v 1.9 2001/12/09 04:24:18 whelan Exp $ $Id: CoarseGrainFrequencySeries.h,v 1.10 2002/02/07 23:00:24 whelan Exp $
*********************************************************** </lalVerbatim> */ *********************************************************** </lalVerbatim> */
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\section{Header \texttt{CoarseGrainFrequencySeries.h}} \section{Header \texttt{CoarseGrainFrequencySeries.h}}
\label{stochastic:s:CoarseGrainFrequencySeries.h} \label{stochastic:s:CoarseGrainFrequencySeries.h}
Provides prototype, structure and error code information for routines Provides prototype, structure and error code information for routines
which coarse-grain a frequency series. which coarse-grain a frequency series.
\subsection*{Synopsis} \subsection*{Synopsis}
skipping to change at line 34 skipping to change at line 34
*********************************************************** </lalLaTeX> */ *********************************************************** </lalLaTeX> */
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( COARSEGRAINFREQUENCYSERIESH, NRCSID( COARSEGRAINFREQUENCYSERIESH,
"$Id: CoarseGrainFrequencySeries.h,v 1.9 2001/12/09 04:24:18 whelan Exp $" ); "$Id: CoarseGrainFrequencySeries.h,v 1.10 2002/02/07 23:00:24 whela n Exp $" );
/****************** <lalErrTable file="CoarseGrainFrequencySeriesHE"> */ /****************** <lalErrTable file="CoarseGrainFrequencySeriesHE"> */
#define COARSEGRAINFREQUENCYSERIESH_ENULLPTR 1 #define COARSEGRAINFREQUENCYSERIESH_ENULLPTR 1
#define COARSEGRAINFREQUENCYSERIESH_ESAMEPTR 2 #define COARSEGRAINFREQUENCYSERIESH_ESAMEPTR 2
#define COARSEGRAINFREQUENCYSERIESH_EZEROLEN 3 #define COARSEGRAINFREQUENCYSERIESH_EZEROLEN 3
#define COARSEGRAINFREQUENCYSERIESH_ENONPOSDELTAF 4 #define COARSEGRAINFREQUENCYSERIESH_ENONPOSDELTAF 4
#define COARSEGRAINFREQUENCYSERIESH_ENEGFMIN 5 #define COARSEGRAINFREQUENCYSERIESH_ENEGFMIN 5
#define COARSEGRAINFREQUENCYSERIESH_EMMHETERO 7 #define COARSEGRAINFREQUENCYSERIESH_EMMHETERO 7
#define COARSEGRAINFREQUENCYSERIESH_EMMFMIN 8 #define COARSEGRAINFREQUENCYSERIESH_EMMFMIN 8
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added


 DataBuffer.h   DataBuffer.h 
#if 0 /* autodoc block */ #if 0 /* autodoc block */
<lalVerbatim file="DataBufferHV"> <lalVerbatim file="DataBufferHV">
$Id: DataBuffer.h,v 1.7 2001/05/04 18:37:03 duncan Exp $ $Id: DataBuffer.h,v 1.9 2001/12/21 21:11:46 duncan Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{DataBuffer.h}} \section{Header \texttt{DataBuffer.h}}
\label{s:DataBuffer.h} \label{s:DataBuffer.h}
Root finding routines. Root finding routines.
\subsection*{Synopsis} \subsection*{Synopsis}
skipping to change at line 37 skipping to change at line 37
#define _DATABUFFER_H #define _DATABUFFER_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/FrameData.h> #include <lal/FrameData.h>
#include <lal/SpecBuffer.h> #include <lal/SpecBuffer.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (DATABUFFERH, "$Id: DataBuffer.h,v 1.7 2001/05/04 18:37:03 duncan Ex p $"); NRCSID (DATABUFFERH, "$Id: DataBuffer.h,v 1.9 2001/12/21 21:11:46 duncan Ex p $");
#if 0 /* autodoc block */ #if 0 /* autodoc block */
<lalLaTeX> <lalLaTeX>
\subsection*{Error conditions} \subsection*{Error conditions}
\input{DataBufferHErrTab} \input{DataBufferHErrTab}
</lalLaTeX> </lalLaTeX>
<lalErrTable file="DataBufferHErrTab"> <lalErrTable file="DataBufferHErrTab">
skipping to change at line 72 skipping to change at line 72
</lalErrTable> </lalErrTable>
<lalLaTeX> <lalLaTeX>
\subsection*{Structures} \subsection*{Structures}
\begin{verbatim} \begin{verbatim}
typedef struct typedef struct
tagDataSegment tagDataSegment
{ {
INT2TimeSeries *data; REAL4TimeSeries *chan;
REAL4FrequencySeries *spec; REAL4FrequencySeries *spec;
COMPLEX8FrequencySeries *resp; COMPLEX8FrequencySeries *resp;
INT4 endOfData;
INT4 newLock;
INT4 newCal;
INT4 number; INT4 number;
INT4 level;
} }
DataSegment; DataSegment;
\end{verbatim} \end{verbatim}
%\begin{verbatim}
%typedef struct
%tagDataSegment
%{
% INT2TimeSeries *data;
% REAL4FrequencySeries *spec;
% COMPLEX8FrequencySeries *resp;
% INT4 endOfData;
% INT4 newLock;
% INT4 newCal;
% INT4 number;
% INT4 level;
%}
%DataSegment;
%\end{verbatim}
The data structure returned by the data aquisition routine. The fields are : The data structure returned by the data aquisition routine. The fields are :
\begin{description} \begin{description}
\item[\texttt{data}] The time-series data. \item[\texttt{data}] The time-series data.
\item[\texttt{spec}] The corresponding estimated (averaged) power spectrum. \item[\texttt{spec}] The corresponding estimated (averaged) power spectrum.
\item[\texttt{resp}] The current response function, built from the swept-si ne \item[\texttt{resp}] The current response function, built from the swept-si ne
calibration information. calibration information.
\item[\texttt{endOfData}] Boolean that is non-zero if there is no more data . \item[\texttt{endOfData}] Boolean that is non-zero if there is no more data .
\item[\texttt{newLock}] Boolean that is non-zero if a new locked segment ha s \item[\texttt{newLock}] Boolean that is non-zero if a new locked segment ha s
been entered. been entered.
\item[\texttt{newCal}] Boolean that is non-zero if a new calibration \item[\texttt{newCal}] Boolean that is non-zero if a new calibration
skipping to change at line 204 skipping to change at line 216
INT4 numPoints; INT4 numPoints;
WindowType windowType; WindowType windowType;
RealFFTPlan *plan; RealFFTPlan *plan;
CHAR *framePath; CHAR *framePath;
} }
DataBufferPar; DataBufferPar;
typedef struct typedef struct
tagDataSegment tagDataSegment
{ {
REAL4TimeSeries *chan;
REAL4FrequencySeries *spec;
COMPLEX8FrequencySeries *resp;
INT4 number;
}
DataSegment;
#if 0
/* this is the old data segment structure */
typedef struct
tagDataSegment
{
INT2TimeSeries *data; INT2TimeSeries *data;
REAL4TimeSeries *real4Data; REAL4TimeSeries *real4Data;
REAL4FrequencySeries *spec; REAL4FrequencySeries *spec;
COMPLEX8FrequencySeries *resp; COMPLEX8FrequencySeries *resp;
INT4 endOfData; INT4 endOfData;
INT4 newLock; INT4 newLock;
INT4 newCal; INT4 newCal;
INT4 number; INT4 number;
INT4 level; INT4 level;
} }
DataSegment; DataSegment;
#endif
#if 0 /* autodoc block */ #if 0 /* autodoc block */
<lalLaTeX> <lalLaTeX>
\newpage\input{DataBufferC} \newpage\input{DataBufferC}
</lalLaTeX> </lalLaTeX>
#endif /* autodoc block */ #endif /* autodoc block */
void void
 End of changes. 8 change blocks. 
7 lines changed or deleted 32 lines changed or added


 Date.h   Date.h 
/* <lalVerbatim file="DateHV"> /* <lalVerbatim file="DateHV">
Author: David Chin <dwchin@umich.edu> +1-734-730-1274 Author: David Chin <dwchin@umich.edu> +1-734-730-1274
$Id: Date.h,v 1.31 2001/12/08 21:28:38 dwchin Exp $ $Id: Date.h,v 1.35 2002/01/25 02:51:35 dwchin Exp $
</lalVerbatim> */ </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{Date.h}} \section{Header \texttt{Date.h}}
\label{s:Date.h} \label{s:Date.h}
Provides routines for manipulating date and time information. Provides routines for manipulating date and time information.
skipping to change at line 67 skipping to change at line 67
#include <lal/LALStatusMacros.h> #include <lal/LALStatusMacros.h>
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/DetectorSite.h> #include <lal/DetectorSite.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif #endif
NRCSID (DATEH, "$Id: Date.h,v 1.31 2001/12/08 21:28:38 dwchin Exp $"); NRCSID (DATEH, "$Id: Date.h,v 1.35 2002/01/25 02:51:35 dwchin Exp $");
/* <lalLaTeX> /* <lalLaTeX>
\subsection*{Error conditions} \subsection*{Error conditions}
</lalLaTeX> */ </lalLaTeX> */
/* <lalErrTable> */ /* <lalErrTable> */
#define DATEH_ENULLINPUT 1 #define DATEH_ENULLINPUT 1
#define DATEH_ENULLOUTPUT 2 #define DATEH_ENULLOUTPUT 2
#define DATEH_EDATETOOEARLY 3 #define DATEH_EDATETOOEARLY 3
#define DATEH_ERANGEGPSABS 4 #define DATEH_ERANGEGPSABS 4
#define DATEH_EBUFFTOOSMALL 5 #define DATEH_EBUFFTOOSMALL 5
#define DATEH_EASCTIMEFAIL 6 #define DATEH_EASCTIMEFAIL 6
#define DATEH_EGPSDATETOOEARLY 7 #define DATEH_EGPSDATETOOEARLY 7
#define DATEH_EFORMATPARAMOUTOFRANGE 8
#define DATEH_EACCPARAMOUTOFRANGE 9
#define DATEH_MSGENULLINPUT "Input is NULL" #define DATEH_MSGENULLINPUT "Input is NULL"
#define DATEH_MSGENULLOUTPUT "Output is NULL" #define DATEH_MSGENULLOUTPUT "Output is NULL"
#define DATEH_MSGEDATETOOEARLY "Date too early: Julian Day can only be comp uted for dates >= 1900-03-01" #define DATEH_MSGEDATETOOEARLY "Date too early: Julian Day can only be comp uted for dates >= 1900-03-01"
#define DATEH_MSGERANGEGPSABS "Input time out of range: only able to accura tely convert times between 1980-Jan-06 00:00:00 UTC (GPS 0) and 2002-Mar-31 23:59:00 UTC (GPS 701654353)" #define DATEH_MSGERANGEGPSABS "Input time out of range: only able to accura tely convert times between 1980-Jan-06 00:00:00 UTC (GPS 0) and 2002-Mar-31 23:59:00 UTC (GPS 701654353)"
#define DATEH_MSGEBUFFTOOSMALL "Output timestamp string too small: min. siz e = 26" #define DATEH_MSGEBUFFTOOSMALL "Output timestamp string too small: min. siz e = 26"
#define DATEH_MSGEASCTIMEFAIL "asctimeUNDERSCOREr() failed" #define DATEH_MSGEASCTIMEFAIL "asctimeUNDERSCOREr() failed"
#define DATEH_MSGEGPSDATETOOEARLY "Date too early: GPS time only defined fo r times on or after 1980-Jan-06 00:00:00 UTC" #define DATEH_MSGEGPSDATETOOEARLY "Date too early: GPS time only defined fo r times on or after 1980-Jan-06 00:00:00 UTC"
#define DATEH_MSGEFORMATPARAMOUTOFRANGE "Format parameter out of range: mus
t be one of LALLEAPSECunderscoreTAIUTC or LALLEAPSECunderscoreGPSUTC"
#define DATEH_MSGEACCPARAMOUTOFRANGE "Accuracy parameter out of range: must
be one of LALLEAPSECunderscoreSTRICT or LALLEAPSECunderscoreLOOSE"
/* </lalErrTable> /* </lalErrTable>
<lalLaTeX> <lalLaTeX>
\subsection*{Structures} \subsection*{Structures}
</lalLaTeX> */ </lalLaTeX> */
/* <lalLaTeX> /* <lalLaTeX>
skipping to change at line 138 skipping to change at line 142
MST_SEC, /* arc seconds */ MST_SEC, /* arc seconds */
MST_HRS, /* arc hours (i.e. units of Right Ascension) */ MST_HRS, /* arc hours (i.e. units of Right Ascension) */
MST_DEG, /* degrees */ MST_DEG, /* degrees */
MST_RAD /* radians */ MST_RAD /* radians */
} LALMSTUnits; } LALMSTUnits;
/* <lalLaTeX> /* <lalLaTeX>
\subsubsection*{Enumeration \texttt{LALLeapSecAccuracy}} \subsubsection*{Enumeration \texttt{LALLeapSecAccuracy}}
\idx[Type]{LALLeapSecAccuracy} \idx[Type]{LALLeapSecAccuracy}
This enumerated type is used as a parameter for \texttt{LALGPStoUTC()} and This enumerated type is used as a parameter for \texttt{LALGPStoUTC()},
\texttt{LALUTCtoGPS()} to specify if complete accuracy is required in use \texttt{LALUTCtoGPS()}, and \texttt{LALLeapSecs()} to specify if complete
of leap seconds. The allowed values are: accuracy is required in use of leap seconds. The allowed values are:
\medskip\noindent \medskip\noindent
\begin{tabular}{ll} \begin{tabular}{ll}
\verb+LALLEAPSEC_LOOSE+ & may miss leap seconds \\ \verb+LALLEAPSEC_LOOSE+ & may miss leap seconds \\
\verb+LALLEAPSEC_STRICT+ & require all leap seconds \verb+LALLEAPSEC_STRICT+ & require all leap seconds
\end{tabular} \end{tabular}
\bigskip \bigskip
If strict accuracy is selected, the code will \texttt{ABORT} if leap second If strict accuracy is selected, the code will \texttt{ABORT} if leap second
data is not current. Otherwise, a warning will be printed, and the code data is not current. Otherwise, a warning will be printed, and the code
skipping to change at line 162 skipping to change at line 166
</lalLaTeX> */ </lalLaTeX> */
typedef enum typedef enum
{ {
LALLEAPSEC_LOOSE, LALLEAPSEC_LOOSE,
LALLEAPSEC_STRICT LALLEAPSEC_STRICT
} LALLeapSecAccuracy; } LALLeapSecAccuracy;
/* <lalLaTeX> /* <lalLaTeX>
\subsubsection*{Enumeration \texttt{LALLeapSecFormat}}
\idx[Type]{LALLeapSecFormat}
This enumerated type is used as a parameter for \texttt{LALLeapSecs()} to
specify whether TAI-UTC or GPS-UTC should be returned. TAI-UTC is the
total number of leap seconds added to UTC since the TAI epoch. GPS-UTC is
the total number of leap seconds added since the GPS epoch. These two
quantities are related by: TAI-UTC = GPS-UTC + 19.
\medskip\noindent
\begin{tabular}{ll}
\verb+LALLEAPSEC_TAIUTC+ & return TAI-UTC \\
\verb+LALLEAPSEC_GPSUTC+ & return GPS-UTC
\end{tabular}
\bigskip
</lalLaTeX> */
typedef enum
{
LALLEAPSEC_TAIUTC,
LALLEAPSEC_GPSUTC
} LALLeapSecFormat;
/* <lalLaTeX>
\subsubsection*{Structure \texttt{LALUnixDate}} \subsubsection*{Structure \texttt{LALUnixDate}}
\idx[Type]{LALUnixDate} \idx[Type]{LALUnixDate}
This structure is just the standard Unix \texttt{tm} structure. We shall This structure is just the standard Unix \texttt{tm} structure. We shall
{\em always} ignore the daylight savings time field, \verb+tm_isdst+. {\em always} ignore the daylight savings time field, \verb+tm_isdst+.
</lalLaTeX> */ </lalLaTeX> */
/* /*
* The standard Unix tm structure * The standard Unix tm structure
skipping to change at line 283 skipping to change at line 313
/* Second, with Date-Time */ /* Second, with Date-Time */
typedef struct typedef struct
tagLALPlaceAndDate tagLALPlaceAndDate
{ {
LALDetector *p_detector; /* pointer to a detector */ LALDetector *p_detector; /* pointer to a detector */
LALDate *p_date; /* pointer to a date */ LALDate *p_date; /* pointer to a date */
} }
LALPlaceAndDate; LALPlaceAndDate;
/* <lalLaTeX>
\subsubsection{Structure \texttt{LALLeapSecFormatAndAcc}}
\idx[Type]{LALLeapSecFormatAndAcc}
This structure aggregates the \texttt{LALLeapSecFormat} and
\texttt{LALLeapSecAccuracy} parameters for passing to
\texttt{LALLeapSecs()}.
The \texttt{format} field specifies whether \texttt{LALLeapSecs()} returns
TAI-UTC or GPS-UTC. The \texttt{accuracy} field specifies whether a
warning/error should be produced if the function is given an input GPS time
that may result in a leap second not being accounted for.
</lalLaTeX> */
typedef struct
tagLALLeapSecFormatAndAcc
{
LALLeapSecFormat format;
LALLeapSecAccuracy accuracy;
}
LALLeapSecFormatAndAcc;
/* /*
* Function prototypes * Function prototypes
*/ */
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{JulianC} \newpage\input{JulianC}
</lalLaTeX> */ </lalLaTeX> */
void LALJulianDay(LALStatus *status, void LALJulianDay(LALStatus *status,
INT4 *jDay, INT4 *jDay,
skipping to change at line 316 skipping to change at line 370
void LALDateString (LALStatus *status, void LALDateString (LALStatus *status,
CHARVector *timestamp, CHARVector *timestamp,
const LALDate *date); const LALDate *date);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LMST1C} \newpage\input{LMST1C}
</lalLaTeX> */ </lalLaTeX> */
void LALGMST1 (LALStatus *status, void LALGMST1 (LALStatus *status,
REAL8 *gmst, /* output - GMST1 */ REAL8 *gmst, /* output - GMST1 */
const LALDate *date, /* input - date and time */ const LALDate *date, /* input - date and time */
LALMSTUnits outunits); /* GMST1 units */ LALMSTUnits outunits); /* GMST1 units */
void LALGPStoGMST1( LALStatus *status, void LALGPStoGMST1( LALStatus *status,
REAL8 *gmst, /* output - GMST1 */ REAL8 *gmst, /* output - GMST1 */
const LIGOTimeGPS *gps, /* input - GPS time */ const LIGOTimeGPS *gps, /* input - GPS time */
LALMSTUnits outunits); /* GMST1 units */ LALMSTUnits outunits); /* GMST1 units */
void LALLMST1 (LALStatus *status, void LALLMST1 (LALStatus *status,
REAL8 *lmst, /* output - LMST1 */ REAL8 *lmst, /* output - LMST1 */
const LALPlaceAndDate *placeAndDate, /* input - const LALPlaceAndDate *placeAndDate, /* input - location
location and date */
and date */ LALMSTUnits outunits); /* LMST1 units */
LALMSTUnits outunits); /* LMST1 units */
void LALGPStoLMST1( LALStatus *status, void LALGPStoLMST1( LALStatus *status,
REAL8 *lmst, /* output - LMST1 */ REAL8 *lmst, /* output - LMST1 *
const LALPlaceAndGPS *placeAndGps, /* input - /
location and const LALPlaceAndGPS *placeAndGps, /* input - location
GPS */ and
LALMSTUnits outunits); /* LMST1 units GPS */
*/ LALMSTUnits outunits); /* LMST1 units */
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{SecsToLALDateC} \newpage\input{SecsToLALDateC}
</lalLaTeX> */ </lalLaTeX> */
void LALSecsToLALDate(LALStatus*, void LALSecsToLALDate(LALStatus *status,
LALDate*, LALDate *date,
REAL8); REAL8 );
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{GPStoUTCC} \newpage\input{GPStoUTCC}
</lalLaTeX> */ </lalLaTeX> */
void void
LALGPStoUTC (LALStatus *status, LALGPStoUTC (LALStatus *status,
LALDate *pUtcDate, LALDate *pUtcDate,
const LIGOTimeGPS *pGpsTime, const LIGOTimeGPS *pGpsTime,
const LALLeapSecAccuracy *pAccuracy); const LALLeapSecAccuracy *pAccuracy);
void void
LALUTCtoGPS (LALStatus *status, LALUTCtoGPS (LALStatus *status,
LIGOTimeGPS *pGpsTime, LIGOTimeGPS *pGpsTime,
const LALDate *pUtcDate, const LALDate *pUtcDate,
const LALLeapSecAccuracy *pAccuracy); const LALLeapSecAccuracy *pAccuracy);
/* The following is from S.J. Berukoff, included at his request */ void
LALLeapSecs (LALStatus *status,
INT4 *p_leapSecs,
const LIGOTimeGPS *p_gpsTime,
const LALLeapSecFormatAndAcc *p_formatAndAcc);
/* The following 2 functions are from S.J. Berukoff, included at his reques
t */
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{GPStoFloatC} \newpage\input{GPStoFloatC}
</lalLaTeX> */ </lalLaTeX> */
void LALGPStoFloat (LALStatus *, void LALGPStoFloat (LALStatus *status,
REAL8 *, REAL8 *output,
LIGOTimeGPS *); const LIGOTimeGPS *input);
void LALFloatToGPS(LALStatus *, void LALFloatToGPS(LALStatus *status,
LIGOTimeGPS *, LIGOTimeGPS *output,
REAL8 *); const REAL8 *input);
/* <lalLaTeX>
\newpage\input{GPStoINT8C}
</lalLaTeX> */
void
LALINT8toGPS (
LALStatus *status,
LIGOTimeGPS *output,
const INT8 *input
);
void
LALGPStoINT8 (
LALStatus *status,
INT8 *output,
const LIGOTimeGPS *input
);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _DATE_H */ #endif /* _DATE_H */
 End of changes. 14 change blocks. 
31 lines changed or deleted 110 lines changed or added


 Dirichlet.h   Dirichlet.h 
/************************************ <lalVerbatim file="DirichletHV"> /************************************ <lalVerbatim file="DirichletHV">
Author: UTB Relativity Group; contact whelan@oates.utb.edu Author: UTB Relativity Group; contact whelan@phys.utb.edu
$Id: Dirichlet.h,v 1.10 2001/12/09 04:24:18 whelan Exp $ $Id: Dirichlet.h,v 1.11 2002/02/07 23:00:24 whelan Exp $
*********************************************************** </lalVerbatim> */ *********************************************************** </lalVerbatim> */
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\section{Header \texttt{Dirichlet.h}} \section{Header \texttt{Dirichlet.h}}
\label{stochastic:s:Dirichlet.h} \label{stochastic:s:Dirichlet.h}
Provides prototype and error code information for \texttt{LALDirichlet()}, Provides prototype and error code information for \texttt{LALDirichlet()},
a routine which calculates the values of the Dirichlet kernel a routine which calculates the values of the Dirichlet kernel
${\cal D}_N(x)$. ${\cal D}_N(x)$.
skipping to change at line 59 skipping to change at line 59
#ifndef _DIRICHLET_H #ifndef _DIRICHLET_H
#define _DIRICHLET_H #define _DIRICHLET_H
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (DIRICHLETH, "$Id: Dirichlet.h,v 1.10 2001/12/09 04:24:18 whelan Exp $"); NRCSID (DIRICHLETH, "$Id: Dirichlet.h,v 1.11 2002/02/07 23:00:24 whelan Exp $");
/******************************** <lalErrTable file="DirichletHErrTable"> * / /******************************** <lalErrTable file="DirichletHErrTable"> * /
#define DIRICHLETH_ENULLPIN 1 #define DIRICHLETH_ENULLPIN 1
#define DIRICHLETH_ENVALUE 2 #define DIRICHLETH_ENVALUE 2
#define DIRICHLETH_ESIZE 3 #define DIRICHLETH_ESIZE 3
#define DIRICHLETH_EDELTAX 4 #define DIRICHLETH_EDELTAX 4
#define DIRICHLETH_ENULLPOUT 5 #define DIRICHLETH_ENULLPOUT 5
#define DIRICHLETH_ESIZEMM 6 #define DIRICHLETH_ESIZEMM 6
#define DIRICHLETH_ENULLPDOUT 7 #define DIRICHLETH_ENULLPDOUT 7
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 ExcessPower.h   ExcessPower.h 
/********************************** <lalVerbatim file="ExcessPowerHV"> /********************************** <lalVerbatim file="ExcessPowerHV">
Author: Flanagan, E Author: Flanagan, E
$Id: ExcessPower.h,v 1.6 2001/08/19 22:40:57 patrick Exp $ $Id: ExcessPower.h,v 1.8 2002/04/10 22:35:43 patrick Exp $
**************************************************** </lalVerbatim> */ **************************************************** </lalVerbatim> */
#ifndef _EXCESSPOWER_H #ifndef _EXCESSPOWER_H
#define _EXCESSPOWER_H #define _EXCESSPOWER_H
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/TFTransform.h> #include <lal/TFTransform.h>
#include <lal/LALRCSID.h> #include <lal/LALRCSID.h>
#ifdef __cplusplus /* C++ protection. */ #ifdef __cplusplus /* C++ protection. */
extern "C" { extern "C" {
#endif #endif
NRCSID (EXCESSPOWERH, "$Id: ExcessPower.h,v 1.6 2001/08/19 22:40:57 patrick Exp $"); NRCSID (EXCESSPOWERH, "$Id: ExcessPower.h,v 1.8 2002/04/10 22:35:43 patrick Exp $");
/******** <lalErrTable file="ExcessPowerHErrTab"> ********/ /******** <lalErrTable file="ExcessPowerHErrTab"> ********/
#define EXCESSPOWERH_ENULLP 1 #define EXCESSPOWERH_ENULLP 1
#define EXCESSPOWERH_EPOSARG 2 #define EXCESSPOWERH_EPOSARG 2
#define EXCESSPOWERH_EPOW2 4 #define EXCESSPOWERH_EPOW2 4
#define EXCESSPOWERH_EMALLOC 8 #define EXCESSPOWERH_EMALLOC 8
#define EXCESSPOWERH_EINCOMP 16 #define EXCESSPOWERH_EINCOMP 16
#define EXCESSPOWERH_EORDER 32 #define EXCESSPOWERH_EORDER 32
#define EXCESSPOWERH_ENONNULL 64 #define EXCESSPOWERH_ENONNULL 64
#define EXCESSPOWERH_ETILES 65 #define EXCESSPOWERH_ETILES 65
#define EXCESSPOWERH_EDELF 128
#define EXCESSPOWERH_MSGENULLP "Null pointer" #define EXCESSPOWERH_MSGENULLP "Null pointer"
#define EXCESSPOWERH_MSGEPOSARG "Arguments must be non-negative" #define EXCESSPOWERH_MSGEPOSARG "Arguments must be non-negative"
#define EXCESSPOWERH_MSGEPOW2 "Length of supplied data must be a power of 2" #define EXCESSPOWERH_MSGEPOW2 "Length of supplied data must be a power of 2"
#define EXCESSPOWERH_MSGEMALLOC "Malloc failure" #define EXCESSPOWERH_MSGEMALLOC "Malloc failure"
#define EXCESSPOWERH_MSGEINCOMP "Incompatible arguments" #define EXCESSPOWERH_MSGEINCOMP "Incompatible arguments"
#define EXCESSPOWERH_MSGEORDER "Routines called in illegal order" #define EXCESSPOWERH_MSGEORDER "Routines called in illegal order"
#define EXCESSPOWERH_MSGENONNULL "Null pointer expected" #define EXCESSPOWERH_MSGENONNULL "Null pointer expected"
#define EXCESSPOWERH_MSGETILES "Malloc failed while assigning memory for a tile" #define EXCESSPOWERH_MSGETILES "Malloc failed while assigning memory for a tile"
#define EXCESSPOWERH_MSGEDELF "Inconsistent deltaF in spectrum and data "
/******** </lalErrTable> ********/ /******** </lalErrTable> ********/
typedef struct typedef struct
tagTFTile tagTFTile
{ {
INT4 fstart; INT4 fstart;
INT4 fend; INT4 fend;
INT4 tstart; INT4 tstart;
INT4 tend; INT4 tend;
INT4 whichPlane; INT4 whichPlane;
 End of changes. 4 change blocks. 
2 lines changed or deleted 4 lines changed or added


 FindChirp.h   FindChirp.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: FindChirp.h * File Name: FindChirp.h
* *
* Author: Allen, B., Brown, D. A. and Creighton, J. D. E. * Author: Allen, B., Brown, D. A. and Creighton, J. D. E.
* *
* Revision: $Id: FindChirp.h,v 1.13 2001/12/06 12:53:39 duncan Exp $ * Revision: $Id: FindChirp.h,v 1.19 2002/03/02 00:39:59 duncan Exp $
* *
*----------------------------------------------------------------------- *-----------------------------------------------------------------------
*/ */
#if 0 #if 0
<lalVerbatim file="FindChirpHV"> <lalVerbatim file="FindChirpHV">
Author: Allen, B., Brown, D. A. and Creighton, J. D. E. Author: Allen, B., Brown, D. A. and Creighton, J. D. E.
$Id: FindChirp.h,v 1.13 2001/12/06 12:53:39 duncan Exp $ $Id: FindChirp.h,v 1.19 2002/03/02 00:39:59 duncan Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{FindChirp.h}} \section{Header \texttt{FindChirp.h}}
\label{s:FindChirp.h} \label{s:FindChirp.h}
Provides routines to filter IFO data for binary inspiral chirps. Provides core protypes, structures and functions to filter interferometer d
ata
for binary inspiral chirps.
\subsection*{Synopsis}
\begin{verbatim}
#include <lal/FindChirp.h>
\end{verbatim}
\input{FindChirpHDoc}
</lalLaTeX> </lalLaTeX>
#endif #endif
#ifndef _FINDCHIRPH_H #ifndef _FINDCHIRPH_H
#define _FINDCHIRPH_H #define _FINDCHIRPH_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/ComplexFFT.h> #include <lal/ComplexFFT.h>
#include <lal/DataBuffer.h> #include <lal/DataBuffer.h>
#ifdef LAL_ENABLE_MPI #ifdef LAL_ENABLE_MPI
#include <lal/Comm.h> #include <lal/Comm.h>
#endif #endif
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/FindChirpChisq.h> #include <lal/FindChirpChisq.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma }
#endif #endif
NRCSID (FINDCHIRPH, "$Id: FindChirp.h,v 1.13 2001/12/06 12:53:39 duncan Exp $"); NRCSID (FINDCHIRPH, "$Id: FindChirp.h,v 1.19 2002/03/02 00:39:59 duncan Exp $");
#if 0 #if 0
<lalLaTeX> <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> </lalLaTeX>
#endif #endif
/* <lalErrTable> */ /* <lalErrTable> */
#define FINDCHIRPH_ENULL 1 #define FINDCHIRPH_ENULL 1
#define FINDCHIRPH_ENNUL 2 #define FINDCHIRPH_ENNUL 2
#define FINDCHIRPH_EALOC 3 #define FINDCHIRPH_EALOC 3
skipping to change at line 74 skipping to change at line 82
#define FINDCHIRPH_ECRUP 17 #define FINDCHIRPH_ECRUP 17
#define FINDCHIRPH_MSGENULL "Null pointer" #define FINDCHIRPH_MSGENULL "Null pointer"
#define FINDCHIRPH_MSGENNUL "Non-null pointer" #define FINDCHIRPH_MSGENNUL "Non-null pointer"
#define FINDCHIRPH_MSGEALOC "Memory allocation error" #define FINDCHIRPH_MSGEALOC "Memory allocation error"
#define FINDCHIRPH_MSGENUMZ "Invalid number of points in segment" #define FINDCHIRPH_MSGENUMZ "Invalid number of points in segment"
#define FINDCHIRPH_MSGESEGZ "Invalid number of segments" #define FINDCHIRPH_MSGESEGZ "Invalid number of segments"
#define FINDCHIRPH_MSGECHIZ "Invalid number of chi squared bins" #define FINDCHIRPH_MSGECHIZ "Invalid number of chi squared bins"
#define FINDCHIRPH_MSGEDTZO "deltaT is zero or negative" #define FINDCHIRPH_MSGEDTZO "deltaT is zero or negative"
#define FINDCHIRPH_MSGETRNC "Duration of inverse spectrum in time domain is negative" #define FINDCHIRPH_MSGETRNC "Duration of inverse spectrum in time domain is negative"
#define FINDCHIRPH_MSGEFLOW "Inverse spectrum low frequency cutoff is negat ive" #define FINDCHIRPH_MSGEFLOW "Inverse spectrum low frequency cutoff is negat ive"
#define FINDCHIRPH_MSGEFREE "Memory free error" #define FINDCHIRPH_MSGEFREE "Error freeing memory"
#define FINDCHIRPH_MSGERHOT "Rhosq threshold is zero or negative" #define FINDCHIRPH_MSGERHOT "Rhosq threshold is zero or negative"
#define FINDCHIRPH_MSGECHIT "Chisq threshold is zero or negative" #define FINDCHIRPH_MSGECHIT "Chisq threshold is zero or negative"
#define FINDCHIRPH_MSGECRUP "Attempting to filter corrupted data" #define FINDCHIRPH_MSGECRUP "Chirp length or invSpecTrunc too long for leng th of data segment"
/* </lalErrTable> */ /* </lalErrTable> */
#if 0
<lalLaTeX>
\subsection*{Types}
</lalLaTeX>
#endif
/* --- enumeraion type for simulations -----------------------------------
*/
#pragma <lalVerbatim file="FindChirpHWaveformGenerator">
typedef enum
{
findchirpSP,
injectGenPPN
}
WaveformGenerator;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Enumeration Type \texttt{WaveformGenerator}}
\idx[Type]{WaveformGenerator}
\input{FindChirpHWaveformGenerator}
\noindent This enumaration type lists the possible methods of generating
inspiral waveforms. The types in the enum should be of the form
\texttt{packagenameGenType}, where \texttt{packagename} is the name of the
LAL package that the particular waveform generator resides and \texttt{GenT
ype}
is a unique identifier for that waveform generator. The choices are:
\begin{description}
\item[\texttt{findchirpSP}] The \texttt{findchirp} built in stationary phas
e
waveform generator.
\item[\texttt{injectGenPPN}] The \texttt{LALGeneratePPNInspiral()} function
from the \texttt{inject} package.
\item[\texttt{fctFCT}] The \texttt{fct} algorithm was used to find the chir
p.
\end{description}
</lalLaTeX>
#endif
/* /*
* *
* typedefs of structures used by the findchip functions * typedefs of structures used by the findchirp functions
* *
*/ */
/* structure for describing a binary insipral event */ #if 0
<lalLaTeX>
\subsubsection*{Input and output data structures}
</lalLaTeX>
#endif
/* --- structure for describing a binary insipral event ------------------
*/
#pragma <lalVerbatim file="FindChirpHInspiralEvent">
typedef struct typedef struct
tagInspiralEvent tagInspiralEvent
{ {
UINT4 id; UINT4 id;
UINT4 segmentNumber; UINT4 segmentNumber;
LIGOTimeGPS time; LIGOTimeGPS time;
UINT4 timeIndex; UINT4 timeIndex;
InspiralTemplate tmplt; InspiralTemplate tmplt;
REAL4 snrsq; REAL4 snrsq;
REAL4 chisq; REAL4 chisq;
REAL4 sigma; REAL4 sigma;
REAL4 effDist; REAL4 effDist;
REAL4 coaPhase;
CHAR ifoName[2];
WaveformGenerator wavGen;
struct tagInspiralEvent *next; struct tagInspiralEvent *next;
} }
InspiralEvent; InspiralEvent;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{InspiralEvent}}
\idx[Type]{InspiralEvent}
\input{FindChirpHInspiralEvent}
\noindent This structure describes inspiral events found by \texttt{findchi
rp}.
The fields are:
\begin{description}
\item[\texttt{UINT4 id}] A unique number assigned by the filter routine to
each event it finds.
\item[\texttt{UINT4 segmentNumber}] The id number of the
\texttt{FindChirpDataSegment} in which the event was found.
\item[\texttt{LIGOTimeGPS time}] The GPS time at which the event occoured.
\item[\texttt{UINT4 timeIndex}] The index at which the event occoured in
the array containing the filter output.
\item[\texttt{InspiralTemplate tmplt}] The parameters of the inspiral templ
ate
for the event.
\item[\texttt{REAL4 snrsq}] The value of $\rho^2$ for the event.
\item[\texttt{REAL4 chisq}] The value of the $\chi^2$ veto for the event, i
f
it has been computed.
/* vector of DataSegment, as defined the framedata package */ \item[\texttt{REAL4 sigma}] The value of the normalisation constant $\sigma
$
for the event.
\item[\texttt{REAL4 effDist}] The effective distance in megaparsecs to the
event.
\item[\texttt{REAL4 coaPhase}] The coalescence phase of the chirp.
\item[\texttt{WaveformGenerator wavGen}] The particular waveform generator
that was used in the matched filter for this chirp.
\item[\texttt{CHAR ifoName[2]}] Array for storing the two character
interferometer name (e.g. L1, H2, etc.)
\item[\texttt{struct tagInspiralEvent *next}] A pointer to a structure of t
ype
\texttt{InspiralEvent} to allow the construction of a linked list of events
.
\end{description}
</lalLaTeX>
#endif
/* --- vector of DataSegment, as defined the framedata package -----------
*/
#pragma <lalVerbatim file="FindChirpHDataSegmentVector">
typedef struct typedef struct
tagDataSegmentVector tagDataSegmentVector
{ {
UINT4 length; UINT4 length;
DataSegment *data; DataSegment *data;
} }
DataSegmentVector; DataSegmentVector;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{DataSegmentVector}}
\idx[Type]{DataSegmentVector}
\input{FindChirpHDataSegmentVector}
\noindent This structure provides a LAL like vector structure for the
\texttt{DataSegment} structure defined in the package \texttt{framedata}
\begin{description}
\item[\texttt{UINT4 length}] Number of \texttt{DataSegment} structres in th
e
vector
/* processed data segment used by FindChirp filter routine */ \item[\texttt{DataSegment *data}] Pointer to the data.
\end{description}
</lalLaTeX>
#endif
/* --- processed data segment used by FindChirp filter routine -----------
*/
#pragma <lalVerbatim file="FindChirpHFindChirpSegment">
typedef struct typedef struct
tagFindChirpSegment tagFindChirpSegment
{ {
COMPLEX8FrequencySeries *data; COMPLEX8FrequencySeries *data;
UINT4Vector *chisqBinVec; UINT4Vector *chisqBinVec;
REAL8 deltaT; REAL8 deltaT;
REAL4 segNorm; REAL4 segNorm;
REAL4 fLow; REAL4 fLow;
UINT4 invSpecTrunc; UINT4 invSpecTrunc;
UINT4 number; UINT4 number;
} }
FindChirpSegment; FindChirpSegment;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpSegment}}
\idx[Type]{FindChirpSegment}
\input{FindChirpHFindChirpSegment}
\noindent This structure contains the conditioned input data and its
parameters for the \texttt{FindChirpFilter()} function.
\begin{description}
\item[\texttt{COMPLEX8FrequencySeries *data}] The conditioned input data.
The conditioneing performed is as described in the documentation for the
module \texttt{FindChirpSPData.c}
\item[\texttt{UINT4Vector *chisqBinVec}] A vector containing the indices of
the boundaries of the bins of equal power for the $\chi^2$ veto created by
\texttt{FindChirpSPData()}
/* vector of FindChirpSegment defined above */ \item[\texttt{REAL8 deltaT}] The time step $\Delta$ of the time series
input data.
\item[\texttt{REAL4 segNorm}] The template independent part of the
normalisation constant $\sigma$.
\item[\texttt{UINT4 invSpecTrunc}] The number of points to which the invers
e
power spectrum \ospsd is truncated to in the time domain in order to smooth
out high $Q$ features in the power spectrum.
\item[\texttt{UINT4 number}] A unique identification number for the
\texttt{FindChirpDataSegment}. This will generally correspond to the number
in
the \texttt{DataSegment} from which the conditioned data was computed.
\end{description}
</lalLaTeX>
#endif
/* --- vector of FindChirpSegment defined above --------------------------
*/
#pragma <lalVerbatim file="FindChirpHFindChirpSegmentVector">
typedef struct typedef struct
tagFindChirpSegmentVector tagFindChirpSegmentVector
{ {
UINT4 length; UINT4 length;
FindChirpSegment *data; FindChirpSegment *data;
} }
FindChirpSegmentVector; FindChirpSegmentVector;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpSegmentVector}}
\idx[Type]{FindChirpSegmentVector}
\input{FindChirpHFindChirpSegmentVector}
\noindent This structure provides a LAL like vector structure for the
\texttt{FindChirpSegment} structure defined above.
\begin{description}
\item[\texttt{UINT4 length}] Number of \texttt{FindChirpSegment} structres
in
the vector
\item[\texttt{DataSegment *data}] Pointer to the data.
\end{description}
</lalLaTeX>
#endif
/* structure to contain an inspiral template */ /* --- structure to contain an inspiral template -------------------------
*/
#pragma <lalVerbatim file="FindChirpHFindChirpTemplate">
typedef struct typedef struct
tagFindChirpTemplate tagFindChirpTemplate
{ {
COMPLEX8Vector *data; COMPLEX8Vector *data;
REAL4 tmpltNorm; REAL4 tmpltNorm;
} }
FindChirpTemplate; FindChirpTemplate;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpTemplate}}
\idx[Type]{FindChirpTemplate}
\input{FindChirpHFindChirpTemplate}
\noindent This structure provides contains the frequency domain representat
ion
of the cosine phase inspiral template $\tilde{h_c}(f)$.
\begin{description}
\item[\texttt{COMPLEX8Vector *data}] A vector containing $\tilde{h_c}(f)$.
Note
that in the future, this will be changed to a \texttt{COMPLEX8FrequencySeri
es}.
\item[\texttt{REAL4 tmpltNorm}] The template dependent part of the
normalisation constant $\sigma$.
\end{description}
</lalLaTeX>
#endif
/* /*
* *
* typedefs of parameter structures used by functions in findchirp * typedefs of parameter structures used by functions in findchirp
* *
*/ */
/* parameter structure for all init funtions */ #if 0
<lalLaTeX>
\subsubsection*{Initalisation and parameter structures}
</lalLaTeX>
#endif
/* --- parameter structure for all init funtions -------------------------
*/
#pragma <lalVerbatim file="FindChirpHFindChirpInitParams">
typedef struct typedef struct
tagFindChirpInitParams tagFindChirpInitParams
{ {
UINT4 numSegments; UINT4 numSegments;
UINT4 numPoints; UINT4 numPoints;
UINT4 numChisqBins; UINT4 numChisqBins;
BOOLEAN createRhosqVec; BOOLEAN createRhosqVec;
} }
FindChirpInitParams; FindChirpInitParams;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpInitParams}}
\idx[Type]{FindChirpInitParams}
\input{FindChirpHFindChirpInitParams}
/* parameter structure for the filtering function */ \noindent This structure provides the essential information for the
filter initialisation and memory allocation functions used in the
\texttt{FindChirp} package.
\begin{description}
\item[\texttt{UINT4 numSegments}] The number of data segments to allocate
storage for.
\item[\texttt{UINT4 numPoints}] The number of discrete data points in each
data segment.
\item[\texttt{UINT4 numChisqBins}] The number of bins used to contruct the
$\chi^2$ veto.
\item[\texttt{BOOLEAN createRhosqVec}] Debugging flag that controls whether
or not the function \texttt{FindChirpFilterSegment()} should store the outp
ut
of the filter, $\rho^2(t)$, as well as the events. Memory is only allocated
for this vector if the flag is set to 1.
\end{description}
</lalLaTeX>
#endif
/* --- parameter structure for the filtering function --------------------
*/
#pragma <lalVerbatim file="FindChirpHFindChirpFilterParams">
typedef struct typedef struct
tagFindChirpFilterParams tagFindChirpFilterParams
{ {
REAL4 deltaT; REAL4 deltaT;
REAL4 rhosqThresh; REAL4 rhosqThresh;
REAL4 chisqThresh; REAL4 chisqThresh;
REAL4 norm; REAL4 norm;
UINT4 maximiseOverChirp;
BOOLEAN computeNegFreq; BOOLEAN computeNegFreq;
COMPLEX8Vector *qVec; COMPLEX8Vector *qVec;
COMPLEX8Vector *qtildeVec; COMPLEX8Vector *qtildeVec;
ComplexFFTPlan *invPlan; ComplexFFTPlan *invPlan;
REAL4Vector *rhosqVec; REAL4Vector *rhosqVec;
REAL4Vector *chisqVec; REAL4Vector *chisqVec;
FindChirpChisqParams *chisqParams; FindChirpChisqParams *chisqParams;
FindChirpChisqInput *chisqInput; FindChirpChisqInput *chisqInput;
} }
FindChirpFilterParams; FindChirpFilterParams;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpFilterParams}}
\idx[Type]{FindChirpFilterParams}
\input{FindChirpHFindChirpFilterParams}
\noindent This structure provides the parameters used by the
\texttt{FindChirpFilterSegment()} function.
\begin{description}
\item[\texttt{REAL4 deltaT}] The timestep for the sampled data. Must be
set on entry. {FIXME: This should be a \texttt{REAL8}}
\item[\texttt{REAL4 rhosqThresh}] The value to threshold signal to noise
ratio square, $\rho^2$, on. If the signal to noise exceeds this value, then
a
candidate event is generated. A $\chi^2$ veto is performed, if requested,
otherwise an \texttt{InspiralEvent} is generated. Must be $\ge 0$ on entry.
\item[\texttt{REAL4 chisqThresh}] The value to threshold the $\chi^2$ veto
on.
If the $chi^2$ veto is below this threshold the candidate event an
\texttt{InspiralEvent} is generated. Must be $\ge 0$ on entry.
\item[\texttt{REAL4 norm}] On exit this contains the normalisation constant
that relates the quantity $q_j$ with the signal to noise squared,
$\rho^2(t_j)$ by
\begin{equation}
\rho^2(t_j) = \textrm{norm} \times \left|q_j\right|^2.
\end{equation}
\item[\texttt{UINT4 maximiseOverChirp}] If not zero, use algorithm that
maximised over chirp lengths. Otherwise record all points that pass
the $\rho^2$ threshold as events.
\item[\texttt{BOOLEAN computeNegFreq}] Currently unused. Must be set to
$0$ on entry.
\item[\texttt{COMPLEX8Vector *qVec}] Pointer to vector allocated by
\texttt{FindChirpFilterInit()} to store the quantity $q_j$. Set to the
value of $q_j$ on exit. Must not be NULL.
\item[\texttt{COMPLEX8Vector *qtildeVec}] Pointer to vector allocated by
\texttt{FindChirpFilterInit()} to store the quantity $\tilde{q}_k$. Set to
the
value of $\tilde{q}_k$ on exit. Must not be NULL
\item[\texttt{ComplexFFTPlan *invPlan}] Pointer to FFTW plan created by
\texttt{FindChirpFilterInit()} to transform the quantity $\tilde{q}_k$ to
${q}_j$ usimg the inverse DFT. Must not be NULL.
\item[\texttt{REAL4Vector *rhosqVec}] Pointer to a vector that is set to
$\rho^2(t_j)$ on exit. If NULL $\rho^2(t_j)$ is not stored.
\item[\texttt{REAL4Vector *chisqVec}] Workspace vector used to compute and
store $\chi^2(t_j)$. Must not be NULL if \texttt{numChisqBins} is greater t
han
zero. Contains $\chi^2(t_j)$ on exit.
\item[\texttt{FindChirpChisqParams *chisqParams}] Pointer to parameter
structure for \texttt{FindChirpChisqVeto()} function. Must not be NULL if
\texttt{numChisqBins} is greater than zero.
\item[\texttt{FindChirpChisqInput *chisqInput}] Pointer to input data
structure for \texttt{FindChirpChisqVeto()} function. Must not be NULL if
\texttt{numChisqBins} is greater than zero.
\end{description}
</lalLaTeX>
#endif
/* /*
* *
* typedefs of input structures used by functions in findchirp * typedefs of input structures used by functions in findchirp
* *
*/ */
/* input to the filtering functions */ #if 0
<lalLaTeX>
\subsubsection*{Filter function input structures}
</lalLaTeX>
#endif
/* --- input to the filtering functions --------------------------------- *
/
#pragma <lalVerbatim file="FindChirpHFindChirpFilterInput">
typedef struct typedef struct
tagFindChirpFilterInput tagFindChirpFilterInput
{ {
InspiralTemplate *tmplt; InspiralTemplate *tmplt;
FindChirpTemplate *fcTmplt; FindChirpTemplate *fcTmplt;
FindChirpSegment *segment; FindChirpSegment *segment;
} }
FindChirpFilterInput; FindChirpFilterInput;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpFilterInput}}
\idx[Type]{FindChirpSegmentVector}
\input{FindChirpHFindChirpFilterInput}
\noindent This structure groups the input data required for the
\texttt{FindChirpFilterSegment()} function into a single structure.
\begin{description}
\item[\texttt{InspiralTemplate *tmplt}] Pointer the structure that contains
the parameters of the template chirp.
\item[\texttt{FindChirpTemplate *fcTmplt}] Pointer to the input template
in a form that can be used by \texttt{FindChirpFilterSegment()}
\item[\texttt{FindChirpSegment *segment}] Pointer to the input data segment
in a form that can be used by \texttt{FindChirpFilterSegment()}
\end{description}
</lalLaTeX>
#endif
#if 0
<lalLaTeX>
\vfill{\footnotesize\input{FindChirpHV}}
</lalLaTeX>
#endif
/* /*
* *
* function prototypes for memory management functions * function prototypes for memory management functions
* *
*/ */
#if 0
<lalLaTeX>
\newpage\input{FindChirpMemoryC}
</lalLaTeX>
#endif
void void
LALCreateDataSegmentVector ( LALCreateDataSegmentVector (
LALStatus *status, LALStatus *status,
DataSegmentVector **vector, DataSegmentVector **vector,
FindChirpInitParams *params FindChirpInitParams *params
); );
void void
LALDestroyDataSegmentVector ( LALDestroyDataSegmentVector (
LALStatus *status, LALStatus *status,
skipping to change at line 230 skipping to change at line 582
); );
void void
LALDestroyFindChirpSegmentVector ( LALDestroyFindChirpSegmentVector (
LALStatus *status, LALStatus *status,
FindChirpSegmentVector **vector FindChirpSegmentVector **vector
); );
/* /*
* *
* function prototypes for initialization and finalization functions * function prototypes for initialization, finalization and filter function s
* *
*/ */
#if 0
<lalLaTeX>
\newpage\input{FindChirpFilterC}
</lalLaTeX>
#endif
void void
LALFindChirpFilterInit ( LALFindChirpFilterInit (
LALStatus *status, LALStatus *status,
FindChirpFilterParams **output, FindChirpFilterParams **output,
FindChirpInitParams *params FindChirpInitParams *params
); );
void void
LALFindChirpFilterFinalize ( LALFindChirpFilterFinalize (
LALStatus *status, LALStatus *status,
skipping to change at line 260 skipping to change at line 618
FindChirpFilterInput **output, FindChirpFilterInput **output,
FindChirpInitParams *params FindChirpInitParams *params
); );
void void
LALDestroyFindChirpInput ( LALDestroyFindChirpInput (
LALStatus *status, LALStatus *status,
FindChirpFilterInput **output FindChirpFilterInput **output
); );
/*
*
* function prototype for the filtering function
*
*/
void void
LALFindChirpFilterSegment ( LALFindChirpFilterSegment (
LALStatus *status, LALStatus *status,
InspiralEvent **eventList, InspiralEvent **eventList,
FindChirpFilterInput *input, FindChirpFilterInput *input,
FindChirpFilterParams *params FindChirpFilterParams *params
); );
#if 0
<lalLaTeX>
\vfill{\footnotesize\input{FindChirpHV}}
</lalLaTeX>
#endif
#ifdef __cplusplus #ifdef __cplusplus
#pragma {
} }
#endif #endif
#endif /* _FINDCHIRPH_H */ #endif /* _FINDCHIRPH_H */
 End of changes. 35 change blocks. 
29 lines changed or deleted 408 lines changed or added


 FindChirpChisq.h   FindChirpChisq.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: FindChirpChisq.h * File Name: FindChirpChisq.h
* *
* Author: Anderson, W. G., and Brown, D. A. * Author: Anderson, W. G., and Brown, D. A.
* *
* Revision: $Id: FindChirpChisq.h,v 1.4 2001/05/15 22:25:53 duncan Exp $ * Revision: $Id: FindChirpChisq.h,v 1.5 2002/01/18 01:47:31 duncan Exp $
* *
*----------------------------------------------------------------------- *-----------------------------------------------------------------------
*/ */
#if 0 #if 0
<lalVerbatim file="FindChirpChisqHV"> <lalVerbatim file="FindChirpChisqHV">
Author: Allen, B., Brown, D. A. and Creighton, J. D. E. Author: Anderson, W. G., and Brown, D. A.
$Id: FindChirpChisq.h,v 1.4 2001/05/15 22:25:53 duncan Exp $ $Id: FindChirpChisq.h,v 1.5 2002/01/18 01:47:31 duncan Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{FindChirpChisq.h}} \section{Header \texttt{FindChirpChisq.h}}
\label{s:FindChirp.h} \label{s:FindChirpChisq.h}
Provides prototypes and functions to perform a $\chi^2$ veto on binary
inspiral chirps using data generated by the \texttt{FindChirpFilter()}
function.
\subsection*{Synopsis}
Provides routines to perform chisq veton on binary inspiral chirps. \begin{verbatim}
#include <lal/FindChirpChisq.h>
\end{verbatim}
\input{FindChirpChisqHDoc}
</lalLaTeX> </lalLaTeX>
#endif #endif
#ifndef _FINDCHIRPCHISQH_H #ifndef _FINDCHIRPCHISQH_H
#define _FINDCHIRPCHISQH_H #define _FINDCHIRPCHISQH_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma }
#endif #endif
NRCSID (SPFINDCHIRPCHISQH, "$Id: FindChirpChisq.h,v 1.4 2001/05/15 22:25:53 duncan Exp $"); NRCSID (SPFINDCHIRPCHISQH, "$Id: FindChirpChisq.h,v 1.5 2002/01/18 01:47:31 duncan Exp $");
#if 0 #if 0
<lalLaTeX> <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> </lalLaTeX>
#endif #endif
/* <lalErrTable> */ /* <lalErrTable> */
#define FINDCHIRPCHISQH_ENULL 1 #define FINDCHIRPCHISQH_ENULL 1
#define FINDCHIRPCHISQH_ENNUL 2 #define FINDCHIRPCHISQH_ENNUL 2
#define FINDCHIRPCHISQH_ENUMZ 3 #define FINDCHIRPCHISQH_ENUMZ 3
#define FINDCHIRPCHISQH_ECHIZ 4 #define FINDCHIRPCHISQH_ECHIZ 4
#define FINDCHIRPCHISQH_EALOC 5 #define FINDCHIRPCHISQH_EALOC 5
#define FINDCHIRPCHISQH_MSGENULL "Null pointer" #define FINDCHIRPCHISQH_MSGENULL "Null pointer"
#define FINDCHIRPCHISQH_MSGENNUL "Non-null pointer" #define FINDCHIRPCHISQH_MSGENNUL "Non-null pointer"
#define FINDCHIRPCHISQH_MSGENUMZ "Number of points is zero or negative" #define FINDCHIRPCHISQH_MSGENUMZ "Number of points is zero or negative"
#define FINDCHIRPCHISQH_MSGECHIZ "Number of chisq bins is zero or negative" #define FINDCHIRPCHISQH_MSGECHIZ "Number of chisq bins is zero or negative"
#define FINDCHIRPCHISQH_MSGEALOC "Memory allocation error" #define FINDCHIRPCHISQH_MSGEALOC "Memory allocation error"
/* </lalErrTable> */ /* </lalErrTable> */
#if 0
<lalLaTeX>
\subsection*{Types}
</lalLaTeX>
#endif
/* --- structure for storing input to the chisq veto ---------------------
*/
#pragma <lalVerbatim file="FindChirpChisqHFindChirpChisqInput">
typedef struct typedef struct
tagFindChirpChisqInput tagFindChirpChisqInput
{ {
COMPLEX8Vector *qtildeVec; COMPLEX8Vector *qtildeVec;
COMPLEX8Vector *qVec; COMPLEX8Vector *qVec;
} }
FindChirpChisqInput; FindChirpChisqInput;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpChisqInput}}
\idx[Type]{FindChirpChisqInput}
\input{FindChirpChisqHFindChirpChisqInput}
\noindent This structure contains the input to the $\chi^2$ veto function.
The quantities should be populated by \texttt{FindChirpFilter()} on entry.
The fields are:
\begin{description}
\item[\texttt{COMPLEX8Vector *qtildeVec}] A vector containing the frequncy
domain quantity $\tilde{q}_k$ as defined in \texttt{FindChirpFilter()}.
\item[\texttt{COMPLEX8Vector *qVec}] A vector containing the time
domain quantity $q_j$ as defined in \texttt{FindChirpFilter()}.
\end{description}
</lalLaTeX>
#endif
/* --- parameter structure for the chisq veto ----------------------------
*/
#pragma <lalVerbatim file="FindChirpChisqHFindChirpChisqParams">
typedef struct typedef struct
tagFindChirpChisqParams tagFindChirpChisqParams
{ {
REAL4 chisqNorm; REAL4 chisqNorm;
UINT4Vector *chisqBinVec; UINT4Vector *chisqBinVec;
ComplexFFTPlan *plan; ComplexFFTPlan *plan;
COMPLEX8Vector *qtildeBinVec; COMPLEX8Vector *qtildeBinVec;
COMPLEX8Vector **qBinVecPtr; COMPLEX8Vector **qBinVecPtr;
} }
FindChirpChisqParams; FindChirpChisqParams;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpChisqParams}}
\idx[Type]{FindChirpChisqParams}
\input{FindChirpChisqHFindChirpChisqParams}
\noindent This structure contains the parameters used by the $\chi^2$ veto
function \texttt{FindChirpChisqVeto()}. It is created and destroyed by the
\texttt{FindChirpChisqVetoInit()} and \texttt{FindChirpChisqVetoFinalize()}
functions. The fields are:
\begin{description}
\item[\texttt{REAL4 chisqNorm}] The normalization...
\item[\texttt{UINT4Vector *chisqBinVec}] A vector containing the...
\item[\texttt{ComplexFFTPlan *plan}] The FFTW plan used by the inverse DFT.
\item[\texttt{COMPLEX8Vector *qtildeBinVec}] ...
\item[\texttt{COMPLEX8Vector **qBinVecPtr}] ...
\end{description}
</lalLaTeX>
#endif
#if 0
<lalLaTeX>
\vfill{\footnotesize\input{FindChirpChisqHV}}
</lalLaTeX>
#endif
#if 0
<lalLaTeX>
\newpage\input{FindChirpChisqC}
</lalLaTeX>
#endif
void void
LALFindChirpChisqVetoInit ( LALFindChirpChisqVetoInit (
LALStatus *status, LALStatus *status,
FindChirpChisqParams *params, FindChirpChisqParams *params,
UINT4 numChisqBins, UINT4 numChisqBins,
UINT4 numPoints UINT4 numPoints
); );
void void
skipping to change at line 100 skipping to change at line 178
void void
LALFindChirpChisqVeto ( LALFindChirpChisqVeto (
LALStatus *status, LALStatus *status,
REAL4Vector *chisqVec, REAL4Vector *chisqVec,
FindChirpChisqInput *input, FindChirpChisqInput *input,
FindChirpChisqParams *params FindChirpChisqParams *params
); );
#ifdef __cplusplus #ifdef __cplusplus
#pragma {
} }
#endif #endif
#endif /* _FINDCHIRPCHISQH_H */ #endif /* _FINDCHIRPCHISQH_H */
 End of changes. 13 change blocks. 
7 lines changed or deleted 88 lines changed or added


 FindChirpEngine.h   FindChirpEngine.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: FindChirpEngine.h * File Name: FindChirpEngine.h
* *
* Author: Brown, D. A. * Author: Brown, D. A.
* *
* Revision: $Id: FindChirpEngine.h,v 1.14 2001/11/26 17:45:58 duncan Exp $ * Revision: $Id: FindChirpEngine.h,v 1.21 2002/04/04 21:46:41 duncan Exp $
* *
*----------------------------------------------------------------------- *-----------------------------------------------------------------------
*/ */
#if 0 #if 0
<lalVerbatim file="FindChirpEngineHV"> <lalVerbatim file="FindChirpEngineHV">
Author: Brown, D. A. Author: Brown, D. A.
$Id: FindChirpEngine.h,v 1.14 2001/11/26 17:45:58 duncan Exp $ $Id: FindChirpEngine.h,v 1.21 2002/04/04 21:46:41 duncan Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{FindChirpEngine.h}} \section{Header \texttt{FindChirpEngine.h}}
\label{s:FindChirp.h} \label{s:FindChirpEngine.h}
Provides functions to drive the filtering functions in the package
\texttt{findchirp}. Contains the functions necessary to execute a flat
or heirarchical inspiral search using the LDAS \texttt{wrapperAPI} or
the LALapps program \texttt{findchirp}.
\subsection*{Synopsis}
Provides routines to filter IFO data for binary inspiral chirps. \begin{verbatim}
#include <lal/FindChirpEngine.h>
\end{verbatim}
\input{FindChirpEngineHDoc}
</lalLaTeX> </lalLaTeX>
#endif #endif
#ifndef _FINDCHIRPENGINEH_H #ifndef _FINDCHIRPENGINEH_H
#define _FINDCHIRPENGINEH_H #define _FINDCHIRPENGINEH_H
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <strings.h> #include <strings.h>
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/Random.h> #include <lal/Random.h>
#include <lal/DataBuffer.h> #include <lal/DataBuffer.h>
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/LALInspiralBank.h> #include <lal/LALInspiralBank.h>
#include <lal/FindChirp.h> #include <lal/FindChirp.h>
#include <lal/FindChirpSP.h> #include <lal/FindChirpSP.h>
#include <lal/GeneratePPNInspiral.h> #include <lal/GeneratePPNInspiral.h>
#include <lal/SimulateCoherentGW.h> #include <lal/SimulateCoherentGW.h>
#include <lal/Units.h>
#include <lal/Inject.h> #include <lal/Inject.h>
#ifdef LAL_MPI_ENABLED #ifdef LAL_MPI_ENABLED
#include <lal/Comm.h> #include <lal/Comm.h>
#include <lal/FindChirpExch.h> #include <lal/FindChirpExch.h>
#endif /* LAL_MPI_ENABLED */ #endif /* LAL_MPI_ENABLED */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma }
#endif #endif
NRCSID (FINDCHIRPENGINEHH, "$Id: FindChirpEngine.h,v 1.14 2001/11/26 17:45: 58 duncan Exp $"); NRCSID (FINDCHIRPENGINEHH, "$Id: FindChirpEngine.h,v 1.21 2002/04/04 21:46: 41 duncan Exp $");
#if 0 #if 0
<lalLaTeX> <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> </lalLaTeX>
#endif #endif
/* <lalErrTable> */ /* <lalErrTable> */
#define FINDCHIRPENGINEH_ENULL 1 #define FINDCHIRPENGINEH_ENULL 1
#define FINDCHIRPENGINEH_ENNUL 2 #define FINDCHIRPENGINEH_ENNUL 2
#define FINDCHIRPENGINEH_ENUMZ 3 #define FINDCHIRPENGINEH_ENUMZ 3
skipping to change at line 91 skipping to change at line 103
#define FINDCHIRPENGINEH_MSGETMPL "linked list of templates to filter in nu ll" #define FINDCHIRPENGINEH_MSGETMPL "linked list of templates to filter in nu ll"
#define FINDCHIRPENGINEH_MSGEALOC "Memory allocation error" #define FINDCHIRPENGINEH_MSGEALOC "Memory allocation error"
#define FINDCHIRPENGINEH_MSGERANK "Search node has incorrect rank" #define FINDCHIRPENGINEH_MSGERANK "Search node has incorrect rank"
#define FINDCHIRPENGINEH_MSGEUEXT "Unrecognised exchange type" #define FINDCHIRPENGINEH_MSGEUEXT "Unrecognised exchange type"
#define FINDCHIRPENGINEH_MSGELVEL "Invalid heriarchical template bank level " #define FINDCHIRPENGINEH_MSGELVEL "Invalid heriarchical template bank level "
#define FINDCHIRPENGINEH_MSGESEGZ "Number of data segments is zero" #define FINDCHIRPENGINEH_MSGESEGZ "Number of data segments is zero"
#define FINDCHIRPENGINEH_MSGEUSIM "Unkown simulation type requested" #define FINDCHIRPENGINEH_MSGEUSIM "Unkown simulation type requested"
#define FINDCHIRPENGINEH_MSGEWAVL "Simulated waveform is longer than datase g" #define FINDCHIRPENGINEH_MSGEWAVL "Simulated waveform is longer than datase g"
/* </lalErrTable> */ /* </lalErrTable> */
#if 0
<lalLaTeX>
\subsection*{Types}
</lalLaTeX>
#endif
/* --- enumeraion type for simulations -----------------------------------
*/
#pragma <lalVerbatim file="FindChirpEngineHFindChirpSimulationType">
typedef enum
{
fcNoSim,
fcCreateRhosqVec,
fcGaussianNoise,
fcGaussianNoiseInject,
fcRealDataInject,
fcBankMinimalMatch
}
FindChirpSimulationType;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Enumeration Type \texttt{FindChirpSimulationType}}
\idx[Type]{FindChirpSimulationType}
\input{FindChirpEngineHFindChirpSimulationType}
\noindent This enumaration type lists the possible types of simulation
that can be performed by the \texttt{FindChirpEngine} functions. The choic
es
are:
\begin{description}
\item[\texttt{fcNoSim}] A regular data analysis run; no simulation performe
d.
\item[\texttt{fcCreateRhosqVec}] Create a vector contain the statistic
$\rho^2(t_j)$ when filtering.
\item[\texttt{fcGaussianNoise}] Replace the input data in the
\texttt{DataSegmentVector} with Gaussian noise and a simulated LIGO I respo
nse
function.
\item[\texttt{fcGaussianNoiseInject}] Replace the input data in the
\texttt{DataSegmentVector} with Gaussian noise and a simulated LIGO I respo
nse
function. Inject random signals into the data as descibed by the
\texttt{FindChirpSimulationParams}.
\item[\texttt{fcGaussianNoiseInject}] Inject random signals into the input
data as descibed by the \texttt{FindChirpSimulationParams}.
\item[\texttt{fcBankMinimalMatch}] Perform a bank minimal match simulation
using the parameters in the \texttt{FindChirpSimulationParams} structure.
\end{description}
</lalLaTeX>
#endif
/* --- structure for managing a list of inspiral templates ---------------
*/
#pragma <lalVerbatim file="FindChirpEngineHInspiralTemplateNode">
typedef struct typedef struct
tagInspiralTemplateNode tagInspiralTemplateNode
{ {
struct tagInspiralTemplateNode *next; struct tagInspiralTemplateNode *next;
struct tagInspiralTemplateNode *prev; struct tagInspiralTemplateNode *prev;
InspiralTemplate *tmpltPtr; InspiralTemplate *tmpltPtr;
} }
InspiralTemplateNode; InspiralTemplateNode;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{InspiralTemplateNode}}
\idx[Type]{InspiralTemplateNode}
typedef enum \input{FindChirpEngineHInspiralTemplateNode}
\noindent This structure provides a method of constucting doubly linked
lists of \texttt{InspiralTemplate} structures. The fields are:
\begin{description}
\item[\texttt{struct tagInspiralTemplateNode *next}] The next structure in
the linked list.
\item[\texttt{struct tagInspiralTemplateNode *prev}] The previous structure
in
the linked list.
\item[\texttt{InspiralTemplate *tmpltPtr}] A pointer to an \texttt{Inspiral
Template} structure.
\end{description}
</lalLaTeX>
#endif
typedef struct
tagInspiralInjection
{ {
gaussianNoise, INT8 coaTime;
bankMinimalMatch, REAL4 totalMass;
gaussianNoiseInject, REAL4 eta;
realDataInject, REAL4 dist;
egregious REAL4 inclination;
REAL4 coaPhase;
REAL4 longitude;
REAL4 latitude;
REAL4 polarization;
struct tagInspiralInjection *next;
} }
FindChirpSimulationType; InspiralInjection;
typedef struct typedef struct
tagFindChirpSimulationParams tagFindChirpSimulationParams
{ {
FindChirpSimulationType simType; /* type of simulation */ FindChirpSimulationType simType; /* type of simulation */
UINT4 simCount; /* number of simulations */ UINT4 simCount; /* number of simulations */
UINT4 injectStartIdx; /* index of the first inj
*/
InspiralInjection *injectEvent; /* events to inject
*/
InspiralEvent *loudestEvent; /* array of loudest events */ InspiralEvent *loudestEvent; /* array of loudest events */
REAL4 *signalNorm; /* (s|s) for each dataSeg */ REAL4 *signalNorm; /* (s|s) for each dataSeg */
REAL4 mMin; /* minimum mass for binary */ REAL4 mMin; /* minimum mass for binary */
REAL4 mMax; /* maximum mass for binary */ REAL4 mMax; /* maximum mass for binary */
REAL4 fLowInject; /* waveform low freq cutoff */
REAL4 gaussianVarsq; /* variance squared of nois e */ REAL4 gaussianVarsq; /* variance squared of nois e */
RandomParams *randomParams; /* random seed container */ RandomParams *randomParams; /* random seed container */
REAL4TimeSeries *chan; /* pointer to the data chun k */
} }
FindChirpSimulationParams; FindChirpSimulationParams;
typedef struct typedef struct
tagFindChirpSlaveParams tagFindChirpSlaveParams
{ {
UINT4 dataConditioned; UINT4 dataConditioned;
UINT4 *inspiralDebugFlagPtr; UINT4 *inspiralDebugFlagPtr;
REAL4 *chisqThreshVec;
REAL4 *rhosqThreshVec; REAL4 *rhosqThreshVec;
REAL4 *chisqThreshVec;
FILE *tmpltBankFilePtr; FILE *tmpltBankFilePtr;
FILE *eventFilePtr; FILE *eventFilePtr;
FindChirpSegmentVector *fcSegVec; FindChirpSegmentVector *fcSegVec;
FindChirpSPDataParams *dataParams; FindChirpSPDataParams *dataParams;
FindChirpSPTmpltParams *tmpltParams; FindChirpSPTmpltParams *tmpltParams;
FindChirpFilterParams *filterParams; FindChirpFilterParams *filterParams;
FindChirpFilterInput *filterInput; FindChirpFilterInput *filterInput;
FindChirpSimulationParams *simParams; FindChirpSimulationParams *simParams;
BOOLEAN *notFinished;
BOOLEAN useMPI; BOOLEAN useMPI;
void *mpiComm; void *mpiComm;
} }
FindChirpSlaveParams; FindChirpSlaveParams;
typedef struct typedef struct
tagFindChirpCreateBankParams tagFindChirpCreateBankParams
{ {
INT4 numCoarse; INT4 numCoarse;
UINT4 numSegments; UINT4 numSegments;
skipping to change at line 169 skipping to change at line 270
ExchInspiralTemplate, ExchInspiralTemplate,
ExchInspiralEvent, ExchInspiralEvent,
ExchNumTmpltsFiltered, ExchNumTmpltsFiltered,
ExchFinished ExchFinished
}; };
typedef struct typedef struct
tagFindChirpMasterParams tagFindChirpMasterParams
{ {
UINT4 numTmpltExch; UINT4 numTmpltExch;
UINT4 numTmpltsTotal;
UINT4 numTmpltsToFilter; UINT4 numTmpltsToFilter;
UINT4 numTmpltsFiltered; UINT4 numTmpltsFiltered;
UINT4 *inspiralDebugFlagPtr; UINT4 *inspiralDebugFlagPtr;
UINT4Vector *bankSentVec;
MPI_Comm *mpiComm; MPI_Comm *mpiComm;
UINT4 *numSlaves; UINT4 *numSlaves;
InspiralTemplate *tmpltBankHead;
InspiralTemplateNode *currentTmpltNode; InspiralTemplateNode *currentTmpltNode;
InspiralTemplateNode *tmpltNodeHead; InspiralTemplateNode *tmpltNodeHead;
} }
FindChirpMasterParams; FindChirpMasterParams;
void void
LALFindChirpMaster ( LALFindChirpMaster (
LALStatus *status, LALStatus *status,
InspiralEvent **eventList, InspiralEvent **eventList,
FindChirpMasterParams *params FindChirpMasterParams *params
); );
#endif /* LAL_MPI_ENABLED */ #endif /* LAL_MPI_ENABLED */
void void
LALFindChirpSlave ( LALFindChirpSlave (
LALStatus *status, LALStatus *status,
BOOLEAN *notFinished, InspiralEvent **outputEventHandle,
DataSegmentVector *dataSegVec, DataSegmentVector *dataSegVec,
FindChirpSlaveParams *params FindChirpSlaveParams *params
); );
void void
LALFindChirpCreateInspiralBank ( LALFindChirpCreateInspiralBank (
LALStatus *status, LALStatus *status,
InspiralCoarseBankIn *bankIn, InspiralCoarseBankIn *bankIn,
InspiralTemplate **bankHead, InspiralTemplate **bankHead,
FindChirpCreateBankParams *params FindChirpCreateBankParams *params
skipping to change at line 222 skipping to change at line 326
InspiralTemplate *tmplt, InspiralTemplate *tmplt,
InspiralTemplateNode **tmpltNode InspiralTemplateNode **tmpltNode
); );
void void
LALFindChirpDestroyTmpltNode ( LALFindChirpDestroyTmpltNode (
LALStatus *status, LALStatus *status,
InspiralTemplateNode **tmpltNode InspiralTemplateNode **tmpltNode
); );
void
LALFindChirpInjectSignals (
LALStatus *status,
REAL4TimeSeries *chan,
InspiralInjection *events,
COMPLEX8FrequencySeries *resp
);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _FINDCHIRPENGINEH_H */ #endif /* _FINDCHIRPENGINEH_H */
 End of changes. 25 change blocks. 
16 lines changed or deleted 138 lines changed or added


 FindChirpExch.h   FindChirpExch.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: FindChirpExch.h * File Name: FindChirpExch.h
* *
* Author: Allen, B., Brown, D. A. and Creighton, J. D. E. * Author: Allen, B., Brown, D. A. and Creighton, J. D. E.
* *
* Revision: $Id: FindChirpExch.h,v 1.11 2001/05/09 17:35:54 duncan Exp $ * Revision: $Id: FindChirpExch.h,v 1.12 2001/12/20 17:37:24 patrick Exp $
* *
*----------------------------------------------------------------------- *-----------------------------------------------------------------------
*/ */
#if 0 #if 0
<lalVerbatim file="FindChirpEngineHV"> <lalVerbatim file="FindChirpEngineHV">
Author: Allen, B., Brown, D. A. and Creighton, J. D. E. Author: Allen, B., Brown, D. A. and Creighton, J. D. E.
$Id: FindChirpExch.h,v 1.11 2001/05/09 17:35:54 duncan Exp $ $Id: FindChirpExch.h,v 1.12 2001/12/20 17:37:24 patrick Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{FindChirpExch.h}} \section{Header \texttt{FindChirpExch.h}}
\label{s:FindChirp.h} \label{s:FindChirp.h}
Provides routines to filter IFO data for binary inspiral chirps. Provides routines to filter IFO data for binary inspiral chirps.
</lalLaTeX> </lalLaTeX>
skipping to change at line 41 skipping to change at line 41
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/Comm.h> #include <lal/Comm.h>
#include <lal/DataBuffer.h> #include <lal/DataBuffer.h>
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/FindChirp.h> #include <lal/FindChirp.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (FINDCHIRPEXCHH, "$Id: FindChirpExch.h,v 1.11 2001/05/09 17:35:54 du ncan Exp $"); NRCSID (FINDCHIRPEXCHH, "$Id: FindChirpExch.h,v 1.12 2001/12/20 17:37:24 pa trick Exp $");
#if 0 #if 0
<lalLaTeX> <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> </lalLaTeX>
#endif #endif
/* <lalErrTable> */ /* <lalErrTable> */
#define FINDCHIRPEXCHH_ENULL 1 #define FINDCHIRPEXCHH_ENULL 1
#define FINDCHIRPEXCHH_ENNUL 2 #define FINDCHIRPEXCHH_ENNUL 2
#define FINDCHIRPEXCHH_ENOBJ 4 #define FINDCHIRPEXCHH_ENOBJ 4
#define FINDCHIRPEXCHH_EHAND 8 #define FINDCHIRPEXCHH_EHAND 8
#define FINDCHIRPEXCHH_EMPIE 16
#define FINDCHIRPEXCHH_MSGENULL "Null pointer" #define FINDCHIRPEXCHH_MSGENULL "Null pointer"
#define FINDCHIRPEXCHH_MSGENNUL "Non-null pointer" #define FINDCHIRPEXCHH_MSGENNUL "Non-null pointer"
#define FINDCHIRPEXCHH_MSGENOBJ "Invalid number of objects" #define FINDCHIRPEXCHH_MSGENOBJ "Invalid number of objects"
#define FINDCHIRPEXCHH_MSGEHAND "Wrong handshake" #define FINDCHIRPEXCHH_MSGEHAND "Wrong handshake"
#define FINDCHIRPEXCHH_MSGEMPIE "Problem exchanging event list"
/* </lalErrTable> */ /* </lalErrTable> */
void void
LALExchangeDataSegment ( LALExchangeDataSegment (
LALStatus *status, LALStatus *status,
DataSegment *segment, DataSegment *segment,
ExchParams *exchParams ExchParams *exchParams
); );
void void
 End of changes. 5 change blocks. 
3 lines changed or deleted 5 lines changed or added


 FindChirpSP.h   FindChirpSP.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: FindChirpSP.h * File Name: FindChirpSP.h
* *
* Author: Brown, D. A. * Author: Brown, D. A.
* *
* Revision: $Id: FindChirpSP.h,v 1.5 2001/09/18 15:47:34 duncan Exp $ * Revision: $Id: FindChirpSP.h,v 1.6 2002/01/18 01:47:31 duncan Exp $
* *
*----------------------------------------------------------------------- *-----------------------------------------------------------------------
*/ */
#if 0 #if 0
<lalVerbatim file="FindChirpSPHV"> <lalVerbatim file="FindChirpSPHV">
Author: Brown, D. A. Author: Brown, D. A.
$Id: FindChirpSP.h,v 1.5 2001/09/18 15:47:34 duncan Exp $ $Id: FindChirpSP.h,v 1.6 2002/01/18 01:47:31 duncan Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{FindChirpSP.h}} \section{Header \texttt{FindChirpSP.h}}
\label{s:FindChirpSP.h} \label{s:FindChirpSP.h}
Provides routines to filter IFO data for binary inspiral chirps generated Provides structures and functions to condition interferometer data
using the stationary phase approximation. and generate binary inspiral chirps using the stationary phase approximatio
n.
\subsection*{Synopsis} \subsection*{Synopsis}
\begin{verbatim} \begin{verbatim}
#include "FindChirpSP.h" #include <lal/FindChirpSP.h>
\end{verbatim} \end{verbatim}
\noindent This header provides routines necessary to filter IFO
data contained in a \verb|DataSegment| structure for binary inspiral
chirps generated using the stationary phase approximation.
In order to increase efficency, the filtering algorithm is divided
into three parts:
\begin{itemize}
\item Those that are independent of the template and need to be calculated
once per data segment.
\item Those that need to be done once per template.
\item Those that need to be done once for each data segment for each
template.
\end{itemize}
The template independent functions are contained in the module
\verb|FindChirpSPData.c| and template dependent functions are in
the module \verb|FindChirpSPTemplate.c|.
\input{FindChirpSPHDoc} \input{FindChirpSPHDoc}
</lalLaTeX> </lalLaTeX>
#endif #endif
#ifndef _FINDCHIRPSPH_H #ifndef _FINDCHIRPSPH_H
#define _FINDCHIRPSPH_H #define _FINDCHIRPSPH_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/RealFFT.h> #include <lal/RealFFT.h>
#include <lal/DataBuffer.h> #include <lal/DataBuffer.h>
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/FindChirp.h> #include <lal/FindChirp.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma }
#endif #endif
NRCSID (FINDCHIRPSPH, "$Id: FindChirpSP.h,v 1.6 2002/01/18 01:47:31 duncan
Exp $");
#if 0 #if 0
<lalLaTeX> <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> </lalLaTeX>
#endif #endif
/* <lalErrTable> */ /* <lalErrTable> */
#define FINDCHIRPSPH_ENULL 1 #define FINDCHIRPSPH_ENULL 1
#define FINDCHIRPSPH_ENNUL 2 #define FINDCHIRPSPH_ENNUL 2
#define FINDCHIRPSPH_EALOC 3 #define FINDCHIRPSPH_EALOC 3
#define FINDCHIRPSPH_ENUMZ 4 #define FINDCHIRPSPH_ENUMZ 4
skipping to change at line 95 skipping to change at line 79
#define FINDCHIRPSPH_MSGEALOC "Memory allocation error" #define FINDCHIRPSPH_MSGEALOC "Memory allocation error"
#define FINDCHIRPSPH_MSGENUMZ "Invalid number of segments" #define FINDCHIRPSPH_MSGENUMZ "Invalid number of segments"
#define FINDCHIRPSPH_MSGESEGZ "Invalid number of points in segments" #define FINDCHIRPSPH_MSGESEGZ "Invalid number of points in segments"
#define FINDCHIRPSPH_MSGEMISM "Mismatch between number of points in segment s" #define FINDCHIRPSPH_MSGEMISM "Mismatch between number of points in segment s"
#define FINDCHIRPSPH_MSGEDELT "deltaT is zero or negative" #define FINDCHIRPSPH_MSGEDELT "deltaT is zero or negative"
#define FINDCHIRPSPH_MSGEFLOW "Low frequency cutoff is negative" #define FINDCHIRPSPH_MSGEFLOW "Low frequency cutoff is negative"
#define FINDCHIRPSPH_MSGEDYNR "Dynamic range scaling is zero or negative" #define FINDCHIRPSPH_MSGEDYNR "Dynamic range scaling is zero or negative"
#define FINDCHIRPSPH_MSGEISTN "Truncation of inverse power spectrum is nega tive" #define FINDCHIRPSPH_MSGEISTN "Truncation of inverse power spectrum is nega tive"
/* </lalErrTable> */ /* </lalErrTable> */
#if 0
<lalLaTeX>
\subsection*{Types}
</lalLaTeX>
#endif
/* --- the parameter structure for the data conditioning function --------
*/
#pragma <lalVerbatim file="FindChirpSPHFindChirpSPDataParams">
typedef struct typedef struct
tagFindChirpSPDataParams tagFindChirpSPDataParams
{ {
REAL4Vector *ampVec; REAL4Vector *ampVec;
RealFFTPlan *fwdPlan; RealFFTPlan *fwdPlan;
RealFFTPlan *invPlan; RealFFTPlan *invPlan;
REAL4Vector *vVec; REAL4Vector *vVec;
REAL4Vector *wVec; REAL4Vector *wVec;
COMPLEX8Vector *wtildeVec; COMPLEX8Vector *wtildeVec;
REAL4Vector *tmpltPowerVec; REAL4Vector *tmpltPowerVec;
REAL4 deltaT; REAL4 deltaT;
REAL4 fLow; REAL4 fLow;
REAL4 dynRange; REAL4 dynRange;
UINT4 invSpecTrunc; UINT4 invSpecTrunc;
} }
FindChirpSPDataParams; FindChirpSPDataParams;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpSPDataParams}}
\idx[Type]{FindChirpSPDataParams}
\input{FindChirpSPHFindChirpSPDataParams}
\noindent This structure contains the parameters needed to call the
\texttt{FindChirpSPData()} function. It should be initialized by
\texttt{FindChirpSPDataInit()} and destroyed by
\texttt{FindChirpSPDataFinalize()}. The fields are:
\begin{description}
\item[\texttt{REAL4Vector *ampVec}] A vector containing the frequency domai
n
quantity $k/N$, where $k$ is the frequency series index and $N$ is the numb
er
of points in a data segment.
\item[\texttt{REAL4Vector *fwdPlan}] An FFTW plan used to transform the
time domain interferometer data $v(t_j)$ into its DFT $\tilde{v}_k$.
\item[\texttt{REAL4Vector *fwdPlan}] An FFTW plan used to transform the
dimensionless frequency domain interferometer strain $\tilde{w}_k$ into
the quantity $N w(t_j)$ to allow time domain trunction of the inverse
power spectrum.
\item[\texttt{REAL4Vector *vVec}] {\color{red} FIXME} A vector to contain
the time domain interferometer output $v(t_j)$. This is obsolete since LIGO
gives us $v(t_j)$ as floats. The 40m prototype gave integers which needed t
o
be cast to floats.
\item[\texttt{REAL4Vector *wVec}] A vector used as workspace when truncatin
g
the imverse power spectrum in the time domain.
\item[\texttt{COMPLEX8Vector *wtildeVec}] A which on exit from
\texttt{FindChirpSPData()} contains the inverse of the strain one sided pow
er
spectral density, after trunction in the time domain, that is
$ \tilde{w}_k = {1}/{\ospsd}$.
\item[\texttt{REAL4Vector *tmpltPowerVec}] A vector which on exit from
\texttt{FindChirpSPData()} contains the quantity
\begin{equation}
\mathtt{tmpltPower[k]} = \frac{f^{-7/3}}{\ospsd}
\end{equation}
\item[\texttt{REAL4 deltaT}] {\color{red} FIXME} The sampling interval
$\Delta t$. Should be a \texttt{REAL8} or derived from the input time serie
s
\texttt{chan}.
\item[\texttt{REAL4 fLow}] The low frequency cutoff for the algorithm. All
data is zero below this frequency.
\item[\texttt{REAL4 dynRange}] A dynamic range factor which cancells from
the filter output (if set correctly in \texttt{FindChirpSPTmplt()} as well)
.
This allows quantities to be stored in the range of \texttt{REAL4} rather
than \texttt{REAL8}.
\item[\texttt{UINT4 invSpecTrunc}] The length to which to truncate the inve
rse
power spectral density of the data in the time domain. If set to zero, no
truncation is performed.
\end{description}
</lalLaTeX>
#endif
/* --- vector of DataSegment, as defined the framedata package -----------
*/
#pragma <lalVerbatim file="FindChirpSPHFindChirpSPTmpltParams">
typedef struct typedef struct
tagFindChirpSPTmpltParams tagFindChirpSPTmpltParams
{ {
REAL4 deltaT; REAL4 deltaT;
REAL4 fLow; REAL4 fLow;
REAL4 dynRange; REAL4 dynRange;
REAL4Vector *xfacVec; REAL4Vector *xfacVec;
} }
FindChirpSPTmpltParams; FindChirpSPTmpltParams;
#pragma </lalVerbatim>
#if 0
<lalLaTeX>
\subsubsection*{Structure \texttt{FindChirpSPTmpltParams}}
\idx[Type]{FindChirpSPTmpltParams}
\input{FindChirpSPHFindChirpSPTmpltParams}
\noindent This structure contains the parameters for generation of
stationary phase templates by the function \texttt{FindChirpSPTmplt()}
It should be initialized by \texttt{FindChirpSPTmpltInit()} and destroyed b
y
\texttt{FindChirpSPTmpltFinalize()}. The fields are:
\begin{description}
\item[\texttt{REAL4 *deltaT}] {\color{red} FIXME} The sampling interval
$\Delta t$. Should be a \texttt{REAL8}.
\item[\texttt{REAL4 fLow}] The low frequency cutoff for the algorithm. All
data is zero below this frequency.
\item[\texttt{REAL4 dynRange}] A dynamic range factor which cancells from
the filter output (if set correctly in \texttt{FindChirpSPData()} as well).
This allows quantities to be stored in the range of \texttt{REAL4} rather
than \texttt{REAL8}.
\item[\texttt{REAL4Vector *xfacVec}] A vector containing the frequency
domain quantity $k^{-7/6}$.
\end{description}
</lalLaTeX>
#endif
#if 0
<lalLaTeX>
\vfill{\footnotesize\input{FindChirpSPHV}}
</lalLaTeX>
#endif
#if 0
<lalLaTeX>
\newpage\input{FindChirpSPDataC}
</lalLaTeX>
#endif
void void
LALFindChirpSPDataInit ( LALFindChirpSPDataInit (
LALStatus *status, LALStatus *status,
FindChirpSPDataParams **output, FindChirpSPDataParams **output,
FindChirpInitParams *params FindChirpInitParams *params
); );
void void
LALFindChirpSPData ( LALFindChirpSPData (
skipping to change at line 143 skipping to change at line 242
DataSegmentVector *dataSegVec, DataSegmentVector *dataSegVec,
FindChirpSPDataParams *params FindChirpSPDataParams *params
); );
void void
LALFindChirpSPDataFinalize ( LALFindChirpSPDataFinalize (
LALStatus *status, LALStatus *status,
FindChirpSPDataParams **output FindChirpSPDataParams **output
); );
#if 0
<lalLaTeX>
\newpage\input{FindChirpSPTemplateC}
</lalLaTeX>
#endif
void void
LALFindChirpSPTemplateInit ( LALFindChirpSPTemplateInit (
LALStatus *status, LALStatus *status,
FindChirpSPTmpltParams **output, FindChirpSPTmpltParams **output,
FindChirpInitParams *params FindChirpInitParams *params
); );
void void
LALFindChirpSPTemplate ( LALFindChirpSPTemplate (
LALStatus *status, LALStatus *status,
skipping to change at line 165 skipping to change at line 270
FindChirpSPTmpltParams *params FindChirpSPTmpltParams *params
); );
void void
LALFindChirpSPTemplateFinalize ( LALFindChirpSPTemplateFinalize (
LALStatus *status, LALStatus *status,
FindChirpSPTmpltParams **output FindChirpSPTmpltParams **output
); );
#ifdef __cplusplus #ifdef __cplusplus
#pragma {
} }
#endif #endif
/*
<lalLaTeX>
\vfill{\footnotesize\input{FindChirpSPHV}}
\newpage\input{FindChirpSPDataC}
</lalLaTeX>
*/
#endif /* _FINDCHIRPSPH_H */ #endif /* _FINDCHIRPSPH_H */
 End of changes. 17 change blocks. 
33 lines changed or deleted 145 lines changed or added


 GeneratePPNInspiral.h   GeneratePPNInspiral.h 
/************************** <lalVerbatim file="GeneratePPNInspiralHV"> /************************** <lalVerbatim file="GeneratePPNInspiralHV">
Author: Creighton, T. D. Author: Creighton, T. D.
$Id: GeneratePPNInspiral.h,v 1.9 2001/12/05 21:10:49 jolien Exp $ $Id: GeneratePPNInspiral.h,v 1.11 2002/04/10 17:15:03 teviet Exp $
**************************************************** </lalVerbatim> */ **************************************************** </lalVerbatim> */
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\section{Header \texttt{GeneratePPNInspiral.h}} \section{Header \texttt{GeneratePPNInspiral.h}}
\label{s:GeneratePPNInspiral.h} \label{s:GeneratePPNInspiral.h}
Provides routines to generate restricted parametrized Provides routines to generate restricted parametrized
post${}^{5/2}$-Newtonian inspiral waveforms. post${}^{5/2}$-Newtonian inspiral waveforms.
skipping to change at line 32 skipping to change at line 32
post${}^{5/2}$-Newtonian order (including corrections up to order post${}^{5/2}$-Newtonian order (including corrections up to order
$v^5/c^5$, where $v$ is the orbital speed), but the wave amplitudes $v^5/c^5$, where $v$ is the orbital speed), but the wave amplitudes
are accurate only to leading (post${}^0$-Newtonian) order. are accurate only to leading (post${}^0$-Newtonian) order.
Furthermore, at each order the post${}^{n/2}$-Newtonian correction can Furthermore, at each order the post${}^{n/2}$-Newtonian correction can
be turned on, off, or set to an unphysical value, by adjusting a be turned on, off, or set to an unphysical value, by adjusting a
parameter $p_n$. parameter $p_n$.
The post-Newtonian expansion implicitly assumes an \emph{adiabatic} The post-Newtonian expansion implicitly assumes an \emph{adiabatic}
inspiral, where one can represent the waveform by an ``instantaneous'' inspiral, where one can represent the waveform by an ``instantaneous''
amplitude and frequency that vary over timescales longer than one wave amplitude and frequency that vary over timescales longer than one wave
period. The orbital frequency of the \emph{system} to period. The \emph{orbital} frequency of the system to
post${}^{5/2}$-Newtonian order is given in Eqs.~6.4.1 and~6.9.1 post${}^{5/2}$-Newtonian order is given in Eqs.~6.4.1 and~6.9.1
of~\cite{GRASP_1.9.8:2000} as: of~\cite{GRASP_1.9.8:2000}; here we work entirely in terms of the
\emph{gravitational-wave} frequency, which is twice the orbital
frequency:
\begin{eqnarray} \begin{eqnarray}
f(t) & = & \frac{M_\odot}{8\pi T_\odot m_\mathrm{tot}}\left\{ f(t) & = & \frac{M_\odot}{8\pi T_\odot m_\mathrm{tot}}\left\{
p_0\Theta^{-3/8}+ p_0\Theta^{-3/8}+
p_1\Theta^{-1/2}+ p_1\Theta^{-1/2}+
p_2\left(\frac{743}{2688}+\frac{11}{32}\eta\right)\Theta^{-5/8}- p_2\left(\frac{743}{2688}+\frac{11}{32}\eta\right)\Theta^{-5/8}-
p_3\frac{3\pi}{10}\Theta^{-3/4} \right. \nonumber \\ p_3\frac{3\pi}{10}\Theta^{-3/4} \right. \nonumber \\
\label{eq:ppn-freq} \label{eq:ppn-freq}
& & \left.+ p_4\left(\frac{1855099}{14450688}+\frac{56975}{258048}\eta+ & & \left.+ p_4\left(\frac{1855099}{14450688}+\frac{56975}{258048}\eta+
\frac{371}{2048}\eta^2\right)\Theta^{-7/8}- \frac{371}{2048}\eta^2\right)\Theta^{-7/8}-
p_5\left(\frac{7729}{21504}+\frac{3}{256}\eta\right)\pi\Theta^{-1} p_5\left(\frac{7729}{21504}+\frac{3}{256}\eta\right)\pi\Theta^{-1}
skipping to change at line 67 skipping to change at line 69
point-mass approximation. The post-Newtonian parameters $p_k$ are point-mass approximation. The post-Newtonian parameters $p_k$ are
defined such that in a normal (physical) post${}^{n/2}$-Newtonian defined such that in a normal (physical) post${}^{n/2}$-Newtonian
expansion, one sets $p_1=0$ and $p_{k>n}=0$, and $p_k=1$ for all other expansion, one sets $p_1=0$ and $p_{k>n}=0$, and $p_k=1$ for all other
$k$. However, changing this convention can be used to model in an $k$. However, changing this convention can be used to model in an
approximate way things such as spin, eccentricity, or non-GR theories approximate way things such as spin, eccentricity, or non-GR theories
of gravity. We also note that while most terms are normalized to of gravity. We also note that while most terms are normalized to
their normal post-Newtonian values, the normalization on the $p_1$ their normal post-Newtonian values, the normalization on the $p_1$
term is completely arbitrary, since it is zero in a normal term is completely arbitrary, since it is zero in a normal
post-Newtonian expansion. post-Newtonian expansion.
The orbital phase as a function of time can be computed analytically The wave phase as a function of time can be computed analytically from
from Eq.~\ref{eq:ppn-freq} as $\phi_\mathrm{orb}=2\pi\int f\,dt$. Eq.~\ref{eq:ppn-freq} as $\phi_\mathrm{orb}=2\pi\int f\,dt$:
However, the phase of the \emph{waveform} is twice this, giving:
\begin{eqnarray} \begin{eqnarray}
\phi(t) & = & \phi_c - \frac{2}{\eta}\left\{ \phi(t) & = & \phi_c - \frac{2}{\eta}\left\{
p_0\Theta^{5/8}+ p_0\Theta^{5/8}+
p_1\frac{5}{4}\Theta^{1/2}+ p_1\frac{5}{4}\Theta^{1/2}+
p_2\left(\frac{3715}{8064}+\frac{55}{96}\eta\right)\Theta^{3/8}- p_2\left(\frac{3715}{8064}+\frac{55}{96}\eta\right)\Theta^{3/8}-
p_3\frac{3\pi}{4}\Theta^{1/4} \right. \nonumber \\ p_3\frac{3\pi}{4}\Theta^{1/4} \right. \nonumber \\
\label{eq:ppn-phi} \label{eq:ppn-phi}
& & \left.+ p_4\left(\frac{9275495}{14450688}+\frac{284875}{258048}\eta+ & & \left.+ p_4\left(\frac{9275495}{14450688}+\frac{284875}{258048}\eta+
\frac{1855}{2048}\eta^2\right)\Theta^{1/8}- \frac{1855}{2048}\eta^2\right)\Theta^{1/8}-
p_5\left(\frac{38645}{172032}+\frac{15}{2048}\eta\right)\pi p_5\left(\frac{38645}{172032}+\frac{15}{2048}\eta\right)\pi
skipping to change at line 145 skipping to change at line 146
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/SimulateCoherentGW.h> #include <lal/SimulateCoherentGW.h>
#include <lal/SkyCoordinates.h> #include <lal/SkyCoordinates.h>
#include <lal/Random.h> #include <lal/Random.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma } #pragma }
#endif #endif
NRCSID( GENERATEPPNINSPIRALH, "$Id: GeneratePPNInspiral.h,v 1.9 2001/12/05 21:10:49 jolien Exp $" ); NRCSID( GENERATEPPNINSPIRALH, "$Id: GeneratePPNInspiral.h,v 1.11 2002/04/10 17:15:03 teviet Exp $" );
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\subsection*{Error conditions} \subsection*{Error conditions}
****************************************** </lalLaTeX><lalErrTable> */ ****************************************** </lalLaTeX><lalErrTable> */
#define GENERATEPPNINSPIRALH_ENUL 1 #define GENERATEPPNINSPIRALH_ENUL 1
#define GENERATEPPNINSPIRALH_EOUT 2 #define GENERATEPPNINSPIRALH_EOUT 2
#define GENERATEPPNINSPIRALH_ETBAD 3 #define GENERATEPPNINSPIRALH_ETBAD 3
#define GENERATEPPNINSPIRALH_EFBAD 4 #define GENERATEPPNINSPIRALH_EFBAD 4
#define GENERATEPPNINSPIRALH_EPBAD 5 #define GENERATEPPNINSPIRALH_EPBAD 5
#define GENERATEPPNINSPIRALH_EMBAD 6 #define GENERATEPPNINSPIRALH_EMBAD 6
skipping to change at line 242 skipping to change at line 243
arbitrary reference phase for a post${}^{5/2}$-Newtonian arbitrary reference phase for a post${}^{5/2}$-Newtonian
approximation), in radians. approximation), in radians.
\item[\texttt{REAL8 deltaT}] The requested sampling interval of the \item[\texttt{REAL8 deltaT}] The requested sampling interval of the
waveform, in s. waveform, in s.
\item[\texttt{REAL4 fStartIn}] The requested starting frequency of the \item[\texttt{REAL4 fStartIn}] The requested starting frequency of the
waveform, in Hz. waveform, in Hz.
\item[\texttt{REAL4 fStopIn}] The requested termination frequency of \item[\texttt{REAL4 fStopIn}] The requested termination frequency of
the waveform, in Hz. If set to $\leq0$, the waveform will be the waveform, in Hz. If set to 0, the waveform will be generated
generated until a termination condition (above) is met. until a termination condition (above) is met. If set to a negative
number, the generator will use its absolute value as the terminating
frequency, but will ignore post-Newtonian breakdown; it will terminate
only at the requested frequency $-\mathtt{fStopIn}$, a local maximum
frequency, or the central singularity.
\item[\texttt{UINT4 lengthIn}] The maximum number of samples in the \item[\texttt{UINT4 lengthIn}] The maximum number of samples in the
generated waveform. If zero, the waveforms can be arbitrarily long. generated waveform. If zero, the waveforms can be arbitrarily long.
\item[\texttt{REAL4Vector *ppn}] The parameters $p_n$ selecting the \item[\texttt{REAL4Vector *ppn}] The parameters $p_n$ selecting the
type of post-Newtonian expansion. If \verb@ppn@=\verb@NULL@, a type of post-Newtonian expansion. If \verb@ppn@=\verb@NULL@, a
``normal'' (physical) expansion is assumed. ``normal'' (physical) expansion is assumed.
\end{description} \end{description}
\medskip\noindent\textit{Output fields:} \medskip\noindent\textit{Output fields:}
 End of changes. 6 change blocks. 
9 lines changed or deleted 14 lines changed or added


 LALConfig.h   LALConfig.h 
/* include/lal/LALConfig.h. Generated automatically by configure. */ /* include/lal/LALConfig.h. Generated automatically 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 "0.10" #define LAL_VERSION "0.11"
/* LAL Version Major Number */ /* LAL Version Major Number */
#define LAL_VERSION_MAJOR 0 #define LAL_VERSION_MAJOR 0
/* LAL Version Minor Number */ /* LAL Version Minor Number */
#define LAL_VERSION_MINOR 10 #define LAL_VERSION_MINOR 11
/* LAL Configure Arguments */ /* LAL Configure Arguments */
#define LAL_CONFIGURE_ARGS " --enable-shared --prefix=/home/ut/testing/lal/ 0.10 --exec-prefix=/home/ut/testing/lal/0.10 --sysconfdir=/home/ut/testing/ lal/0.10 --datadir=/home/ut/testing/lal/0.10/share" #define LAL_CONFIGURE_ARGS " --enable-shared --prefix=/home/ut/testing/lal/ 0.11 --exec-prefix=/home/ut/testing/lal/0.11 --sysconfdir=/home/ut/testing/ lal/0.11 --datadir=/home/ut/testing/lal/0.11/share"
/* LAL Configure Date */ /* LAL Configure Date */
#define LAL_CONFIGURE_DATE "2013/11/20 00:35:34 UTC" #define LAL_CONFIGURE_DATE "2013/11/20 00:34:39 UTC"
/* LAL CVS Tag */
#define LAL_CVS_TAG "release-0-11 "
/* The number of bytes in a double. */ /* The number of bytes in a double. */
#define LAL_SIZEOF_DOUBLE 8 #define LAL_SIZEOF_DOUBLE 8
/* The number of bytes in a float. */ /* The number of bytes in a float. */
#define LAL_SIZEOF_FLOAT 4 #define LAL_SIZEOF_FLOAT 4
/* The number of bytes in a int. */ /* The number of bytes in a int. */
#define LAL_SIZEOF_INT 4 #define LAL_SIZEOF_INT 4
 End of changes. 4 change blocks. 
4 lines changed or deleted 7 lines changed or added


 LALFCTInterface.h   LALFCTInterface.h 
#ifndef _LALFCTINTERFACE_H #ifndef _LALFCTINTERFACE_H
#define _LALFCTINTERFACE_H #define _LALFCTINTERFACE_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#pragma } #pragma }
#endif #endif
NRCSID(LALFCTINTERFACEH, "$Id: LALFCTInterface.h,v 1.1 2001/04/23 20:51:27 charlton Exp $"); NRCSID(LALFCTINTERFACEH, "$Id: LALFCTInterface.h,v 1.2 2001/12/20 00:09:11 charlton Exp $");
/* /*
<lalVerbatim file="LALFCTInterfaceHV"> <lalVerbatim file="LALFCTInterfaceHV">
Author: Charlton, P. R. Author: Charlton, P. R.
$Id: LALFCTInterface.h,v 1.1 2001/04/23 20:51:27 charlton Exp $ $Id: LALFCTInterface.h,v 1.2 2001/12/20 00:09:11 charlton Exp $
</lalVerbatim> </lalVerbatim>
*/ */
/* /*
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{LALFCTInterface.h}} \section{Header \texttt{LALFCTInterface.h}}
\label{s:LALFCTInterface.h} \label{s:LALFCTInterface.h}
\subsection*{Synopsis} \subsection*{Synopsis}
skipping to change at line 116 skipping to change at line 116
/* Number of dimensions. Must be > 1 */ /* Number of dimensions. Must be > 1 */
INT4 number_of_dimensions; INT4 number_of_dimensions;
/* Step through the input data with this stride. Must be positive */ /* Step through the input data with this stride. Must be positive */
INT4 dimension_0_stride; INT4 dimension_0_stride;
/* An array of pointers to phase functions */ /* An array of pointers to phase functions */
LALFCTPhaseFn phase_fn[LALFCT_MAX_DIMS]; LALFCTPhaseFn phase_fn[LALFCT_MAX_DIMS];
} }
LALCreateFCTPlanInput; LALCreateFCTPlanInput;
/* /*
Input structure for LALFCTSetOversamplingFactor
*/
typedef struct
tagLALFCTSetOversamplingFactorInput
{
INT4 ofac;
INT4 dim;
}
LALFCTSetOversamplingFactorInput;
/*
Structure to hold information about the limits of a "data cube", Structure to hold information about the limits of a "data cube",
that is, a parallelpiped (not necessarily cubic!) in N dimensions. that is, a parallelpiped (not necessarily cubic!) in N dimensions.
The bounds for dimension i are given by start_locations[i] and The bounds for dimension i are given by start_locations[i] and
end_locations[i]. end_locations[i].
*/ */
typedef struct typedef struct
tagLALFCTDataCube tagLALFCTDataCube
{ {
/* List of start locations indexed by dimension. Must be non-negative * / /* List of start locations indexed by dimension. Must be non-negative * /
INT4 start_locations[LALFCT_MAX_DIMS]; INT4 start_locations[LALFCT_MAX_DIMS];
skipping to change at line 206 skipping to change at line 218
Destroy the given plan. Destroy the given plan.
All memory associated with the plan is freed and the plan pointer All memory associated with the plan is freed and the plan pointer
is set to 0 is set to 0
*/ */
extern extern
void LALDestroyFCTPlan(LALStatus* const status, void LALDestroyFCTPlan(LALStatus* const status,
LALFCTPlan** plan); LALFCTPlan** plan);
/* /*
Set the oversampling factor for each phase function
If this function is not called, the default oversampling factor is 1.
*/
extern
void LALFCTSetOversamplingFactor(LALStatus* const status,
const LALFCTSetOversamplingFactorInput* const
in,
LALFCTPlan* const plan);
/*
Set the units for the plan. Set the units for the plan.
If this function is not called, the default values are offset = 0 If this function is not called, the default values are offset = 0
and delta = 1. and delta = 1.
*/ */
extern extern
void LALFCTSetUnits(LALStatus* const status, void LALFCTSetUnits(LALStatus* const status,
const LALFCTSetUnitsInput* const in, const LALFCTSetUnitsInput* const in,
LALFCTPlan* const plan); LALFCTPlan* const plan);
 End of changes. 4 change blocks. 
2 lines changed or deleted 25 lines changed or added


 LALInspiral.h   LALInspiral.h 
/* <lalVerbatim file="LALInspiralHV"> /* <lalVerbatim file="LALInspiralHV">
Author: Churches, D. K and B. S. Sathyaprakash. Author: Churches, D. K and B. S. Sathyaprakash.
$Id: LALInspiral.h,v 1.13 2001/12/06 15:15:00 dchurches Exp $ $Id: LALInspiral.h,v 1.15 2002/04/11 17:03:53 dchurches Exp $
</lalVerbatim> */ </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{LALInspiral.h}} \section{Header \texttt{LALInspiral.h}}
\label{s:LALInspiral.h} \label{s:LALInspiral.h}
Header file for the template generation codes. Header file for the template generation codes.
skipping to change at line 37 skipping to change at line 37
# include <math.h> # include <math.h>
# include <stdio.h> # include <stdio.h>
# include <stdlib.h> # include <stdlib.h>
# include <lal/LALStdlib.h> # include <lal/LALStdlib.h>
# include <lal/LALConstants.h> # include <lal/LALConstants.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( LALINSPIRALH, "$Id: LALInspiral.h,v 1.13 2001/12/06 15:15:00 dchurc hes Exp $" ); NRCSID( LALINSPIRALH, "$Id: LALInspiral.h,v 1.15 2002/04/11 17:03:53 dchurc hes Exp $" );
# define oneby3 0.333333333333333333333333333 # define oneby3 0.333333333333333333333333333
# define twoby3 0.666666666666666666666666667 # define twoby3 0.666666666666666666666666667
# define fourby3 1.333333333333333333333333333 # define fourby3 1.333333333333333333333333333
# define fiveby3 1.666666666666666666666666667 # define fiveby3 1.666666666666666666666666667
# define sevenby3 2.333333333333333333333333333 # define sevenby3 2.333333333333333333333333333
# define eightby3 2.666666666666666666666666667 # define eightby3 2.666666666666666666666666667
# define tenby3 3.333333333333333333333333333 # define tenby3 3.333333333333333333333333333
# define elevenby3 3.666666666666666666666666666 # define elevenby3 3.666666666666666666666666666
# define threeby8 0.375 # define threeby8 0.375
skipping to change at line 246 skipping to change at line 246
double ETaN, ETa1, ETa2, ETa3; double ETaN, ETa1, ETa2, ETa3;
double dETaN, dETa1, dETa2, dETa3; double dETaN, dETa1, dETa2, dETa3;
double fTaN, fTa1, fTa2, fTa3, fTa4, fTa5, fTa6, fTa7; double fTaN, fTa1, fTa2, fTa3, fTa4, fTa5, fTa6, fTa7;
double fPaN, fPa1, fPa2, fPa3, fPa4, fPa5, fPa6, fPa7; double fPaN, fPa1, fPa2, fPa3, fPa4, fPa5, fPa6, fPa7;
double FTaN, FTa1, FTa2, FTa3, FTa4, FTa5, FTa6, FTa7, FTl6; double FTaN, FTa1, FTa2, FTa3, FTa4, FTa5, FTa6, FTa7, FTl6;
double tvaN, tva2, tva3, tva4, tva5, tva6, tva7, tvl6; double tvaN, tva2, tva3, tva4, tva5, tva6, tva7, tvl6;
double pvaN, pva2, pva3, pva4, pva5, pva6, pva7, pvl6; double pvaN, pva2, pva3, pva4, pva5, pva6, pva7, pvl6;
double ptaN, pta2, pta3, pta4, pta5, pta6, pta7, ptl6; double ptaN, pta2, pta3, pta4, pta5, pta6, pta7, ptl6;
double ftaN, fta2, fta3, fta4, fta5, fta6, fta7; double ftaN, fta2, fta3, fta4, fta5, fta6, fta7, ftl6;
double samplingrate, samplinginterval; double samplingrate, samplinginterval;
double eta, totalmass, m1, m2; double eta, totalmass, m1, m2;
double lambda, theta, EulerC, omegaS; double lambda, theta, EulerC, omegaS;
double f0, fn, t0, tn, v0, vn, vf, vlso, flso, phiC; double f0, fn, t0, tn, v0, vn, vf, vlso, flso, phiC;
double vlsoT0, vlsoT2, vlsoT4, vlsoT6; double vlsoT0, vlsoT2, vlsoT4, vlsoT6;
double vlsoP0, vlsoP2, vlsoP4, vlsoP6; double vlsoP0, vlsoP2, vlsoP4, vlsoP6;
double vpoleP4, vpoleP6; double vpoleP4, vpoleP6;
} expnCoeffs; } expnCoeffs;
skipping to change at line 848 skipping to change at line 848
REAL8 *phase, REAL8 *phase,
REAL8 td, REAL8 td,
expnCoeffs *ak); expnCoeffs *ak);
void LALRungeKutta4( void LALRungeKutta4(
LALStatus *, LALStatus *,
REAL8Vector *, REAL8Vector *,
rk4In *, rk4In *,
void *); void *);
void LALUSPA (
LALStatus *status,
REAL4Vector *signal,
InspiralTemplate *params);
void LALEOBWaveform( void LALEOBWaveform(
LALStatus *status, LALStatus *status,
REAL4Vector *signal, REAL4Vector *signal,
InspiralTemplate *params); InspiralTemplate *params);
void LALEOBWaveformTemplates( void LALEOBWaveformTemplates(
LALStatus *status, LALStatus *status,
REAL4Vector *signal1, REAL4Vector *signal1,
REAL4Vector *signal2, REAL4Vector *signal2,
InspiralTemplate *params); InspiralTemplate *params);
 End of changes. 4 change blocks. 
3 lines changed or deleted 8 lines changed or added


 LALInspiralBank.h   LALInspiralBank.h 
/* <lalVerbatim file="LALInspiralBankHV"> /* <lalVerbatim file="LALInspiralBankHV">
Author: Churches, D.K. and Sathyaprakash, B.S. Author: Churches, D.K. and Sathyaprakash, B.S.
$Id: LALInspiralBank.h,v 1.10 2001/12/06 15:16:05 dchurches Exp $ $Id: LALInspiralBank.h,v 1.12 2002/03/27 20:27:29 duncan Exp $
</lalVerbatim> */ </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{LALInspiralBank.h}} \section{Header \texttt{LALInspiralBank.h}}
\label{s:LALInspiralBank.h} \label{s:LALInspiralBank.h}
Header file for the template placement codes. Header file for the template placement codes.
skipping to change at line 40 skipping to change at line 40
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/LALConstants.h> #include <lal/LALConstants.h>
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/RealFFT.h> #include <lal/RealFFT.h>
#include <lal/LALNoiseModels.h> #include <lal/LALNoiseModels.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( LALINSPIRALBANKH, "$Id: LALInspiralBank.h,v 1.10 2001/12/06 15:16:0 5 dchurches Exp $" ); NRCSID( LALINSPIRALBANKH, "$Id: LALInspiralBank.h,v 1.12 2002/03/27 20:27:2 9 duncan Exp $" );
/* <lalLaTeX> /* <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> */ </lalLaTeX> */
/* <lalErrTable> */ /* <lalErrTable> */
#define LALINSPIRALBANKH_ENULL 1 #define LALINSPIRALBANKH_ENULL 1
skipping to change at line 100 skipping to change at line 100
/* <lalVerbatim file="LALInspiralBankHS"> */ /* <lalVerbatim file="LALInspiralBankHS"> */
typedef struct typedef struct
tagInspiralMetric tagInspiralMetric
{ {
REAL8 g00; /* 00-component of the diagonalised metric. */ REAL8 g00; /* 00-component of the diagonalised metric. */
REAL8 g11; /* 11-component of the diagonalised metric. */ REAL8 g11; /* 11-component of the diagonalised metric. */
REAL8 theta; /* Angle from t0 to x0 */ REAL8 theta; /* Angle from t0 to x0 */
CoordinateSpace space; /* Coordinate space in which metric is compute d */ CoordinateSpace space; /* Coordinate space in which metric is compute d */
INT4 iflso; INT4 iflso;
void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f); REAL8FrequencySeries *shf; /* one sided strain power spectral density */
} }
InspiralMetric; InspiralMetric;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralMetric} \idx[Type]{InspiralMetric}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALInspiralBankHS"> */ /* <lalVerbatim file="LALInspiralBankHS"> */
/* a grid of inspiral templates (i.e., a template list) */ /* a grid of inspiral templates (i.e., a template list) */
skipping to change at line 163 skipping to change at line 163
typedef struct typedef struct
tagInspiralCoarseBankIn tagInspiralCoarseBankIn
{ {
REAL8 mMin; /* minimum mass of components to search f or */ REAL8 mMin; /* minimum mass of components to search f or */
REAL8 MMax; /* maximum total mass of binary to search for */ REAL8 MMax; /* maximum total mass of binary to search for */
REAL8 mmCoarse; /* Coarse grid minimal match */ REAL8 mmCoarse; /* Coarse grid minimal match */
REAL8 mmFine; /* Fine grid minimal match */ REAL8 mmFine; /* Fine grid minimal match */
REAL8 fLower; /* Lower frequency cutoff */ REAL8 fLower; /* Lower frequency cutoff */
REAL8 fUpper; /* Upper frequency cutoff */ REAL8 fUpper; /* Upper frequency cutoff */
REAL8 tSampling; /* Sampling rate */ REAL8 tSampling; /* Sampling rate */
void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f); REAL8FrequencySeries shf;
Order order; /* Post-Newtonian order of the waveform */ Order order; /* Post-Newtonian order of the waveform */
Approximant approximant; /* Approximant of the waveform */ Approximant approximant; /* Approximant of the waveform */
CoordinateSpace space; /* which of t0-t2 or t0-t3 coordinates */ CoordinateSpace space; /* which of t0-t2 or t0-t3 coordinates */
REAL8 etamin; /* minimum value of eta in our search */ REAL8 etamin; /* minimum value of eta in our search */
INT4 iflso; /* flso will be used as an upper limit in INT4 iflso; /* flso will be used as an upper limit in
moments integrals if iflso!=0; else moments integrals if iflso!=0; else
fUpper will be used */ fUpper will be used */
} }
InspiralCoarseBankIn; InspiralCoarseBankIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralCoarseBankIn} \idx[Type]{InspiralCoarseBankIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALInspiralBankHS"> */ /* <lalVerbatim file="LALInspiralBankHS"> */
typedef struct { typedef struct {
REAL8 xmin, xmax, ndx, norm; REAL8 xmin, xmax, ndx, norm;
void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f); REAL8FrequencySeries *shf;
} InspiralMomentsIn; } InspiralMomentsIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralMomentsIn} \idx[Type]{InspiralMomentsIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALInspiralBankHS"> */ /* <lalVerbatim file="LALInspiralBankHS"> */
typedef struct {
REAL8 ndx;
void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f);
} InspiralMomentsIntegrandIn;
/* </lalVerbatim> */
/* <lalLaTeX>
\idx[Type]{InspiralMomentsIntegrandIn}
</lalLaTeX> */
/* <lalVerbatim file="LALInspiralBankHS"> */
typedef struct typedef struct
tagInspiralFineBankIn tagInspiralFineBankIn
{ {
InspiralTemplateList templateList; InspiralTemplateList templateList;
InspiralCoarseBankIn coarseIn; InspiralCoarseBankIn coarseIn;
} InspiralFineBankIn; } InspiralFineBankIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralFineBankIn} \idx[Type]{InspiralFineBankIn}
</lalLaTeX> */ </lalLaTeX> */
skipping to change at line 429 skipping to change at line 417
LALRectangleVertices( LALRectangleVertices(
LALStatus *status, LALStatus *status,
RectangleOut *out, RectangleOut *out,
RectangleIn *in RectangleIn *in
); );
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{CoarseTestC} \newpage\input{CoarseTestC}
</lalLaTeX> */ </lalLaTeX> */
/* <lalLaTeX>
\newpage\input{CoarseTest2C}
</lalLaTeX> */
/* <lalLaTeX>
\newpage\input{ChirpSpaceC}
</lalLaTeX> */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _LALINSPIRALBANK_H */ #endif /* _LALINSPIRALBANK_H */
 End of changes. 7 change blocks. 
17 lines changed or deleted 13 lines changed or added


 LALNoiseModels.h   LALNoiseModels.h 
/* <lalVerbatim file="LALNoiseModelsHV"> /* <lalVerbatim file="LALNoiseModelsHV">
Author: Sathyaprakash, B.S. Author: Sathyaprakash, B.S.
$Id: LALNoiseModels.h,v 1.7 2001/11/30 13:23:18 dchurches Exp $ $Id: LALNoiseModels.h,v 1.8 2002/01/28 12:29:11 dchurches Exp $
</lalVerbatim> */ </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{LALNoiseModels.h}} \section{Header \texttt{LALNoiseModels.h}}
\label{s:LALNoiseModels.h} \label{s:LALNoiseModels.h}
Header file for model noise generation codes. Header file for model noise generation codes.
skipping to change at line 41 skipping to change at line 41
#include <stdlib.h> #include <stdlib.h>
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/LALConstants.h> #include <lal/LALConstants.h>
#include <lal/LALInspiral.h> #include <lal/LALInspiral.h>
#include <lal/RealFFT.h> #include <lal/RealFFT.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( LALNOISEMODELSH, "$Id: LALNoiseModels.h,v 1.7 2001/11/30 13:23:18 d churches Exp $" ); NRCSID( LALNOISEMODELSH, "$Id: LALNoiseModels.h,v 1.8 2002/01/28 12:29:11 d churches Exp $" );
/* <lalLaTeX> /* <lalLaTeX>
\subsection*{Error codes} \subsection*{Error codes}
</lalLaTeX> */ </lalLaTeX> */
/* <lalErrTable> */ /* <lalErrTable> */
#define LALNOISEMODELSH_ENULL 1 #define LALNOISEMODELSH_ENULL 1
#define LALNOISEMODELSH_EMEM 2 #define LALNOISEMODELSH_EMEM 2
#define LALNOISEMODELSH_ECHOICE 3 #define LALNOISEMODELSH_ECHOICE 4
#define LALNOISEMODELSH_EDIV0 4 #define LALNOISEMODELSH_EDIV0 8
#define LALNOISEMODELSH_ESIZE 8 #define LALNOISEMODELSH_ESIZE 16
#define LALNOISEMODELSH_MSGENULL "Arguments contained an unexpected null po inter" #define LALNOISEMODELSH_MSGENULL "Arguments contained an unexpected null po inter"
#define LALNOISEMODELSH_MSGEMEM "Memory allocation error" #define LALNOISEMODELSH_MSGEMEM "Memory allocation error"
#define LALNOISEMODELSH_MSGECHOICE "Invalid choice for an input parameter" #define LALNOISEMODELSH_MSGECHOICE "Invalid choice for an input parameter"
#define LALNOISEMODELSH_MSGEDIV0 "Division by zero" #define LALNOISEMODELSH_MSGEDIV0 "Division by zero"
#define LALNOISEMODELSH_MSGESIZE "Invalid input range" #define LALNOISEMODELSH_MSGESIZE "Invalid input size"
/* </lalErrTable> */ /* </lalErrTable> */
/* <lalLaTeX> /* <lalLaTeX>
\section*{Structures} \section*{Structures}
\input{LALNoiseModelsHS} \input{LALNoiseModelsHS}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef enum typedef enum
{ {
geo, ligo, tama, virgo geo,
ligo,
tama,
virgo
} }
Detector; Detector;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{Detector} \idx[Type]{Detector}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagInspiralWaveCorrelateIn { tagInspiralWaveCorrelateIn
REAL4Vector signal1, signal2; {
REAL4Vector signal1;
REAL4Vector signal2;
REAL8Vector psd; REAL8Vector psd;
RealFFTPlan *revp; RealFFTPlan *revp;
} }
InspiralWaveCorrelateIn; InspiralWaveCorrelateIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralWaveCorrelateIn} \idx[Type]{InspiralWaveCorrelateIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagAddVectorsIn tagAddVectorsIn
{ {
REAL4Vector *v1, *v2; REAL4Vector *v1;
REAL8 a1, a2; REAL4Vector *v2;
REAL8 a1;
REAL8 a2;
} }
AddVectorsIn; AddVectorsIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{AddVectorsIn} \idx[Type]{AddVectorsIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagRandomInspiralSignalIn tagRandomInspiralSignalIn
{ {
InspiralTemplate param; INT4 useed; /* Seed for the random number generator */
INT4 useed; INT4 type; /* Type of signal required to be generated */
REAL8 mMin, MMax, SignalAmp, NoiseAmp, etaMin;
INT4 type; REAL8 mMin; /* smallest component mass allowed */
REAL8Vector psd; REAL8 MMax; /* largest total mass allowed */
RealFFTPlan *fwdp; REAL8 SignalAmp; /* amplitude of the signal (relevant only when type=2)
REAL8 t0Min, t0Max, tnMin, tnMax; */
REAL8 NoiseAmp; /* amplitude of noise (relevant only when type=2) */
REAL8 etaMin; /* smallest value of the symmetric mass ratio */
InspiralTemplate
param; /* parameter stuct; user to specify certain params. */
REAL8Vector psd; /* power spectral density used for coloring the noise
*/
RealFFTPlan *fwdp;/* pre-computed fftw plan for forward fftw */
/* Chirp times are needed only if param.massChoice is t02 or t03 */
REAL8 t0Min; /* smallest Newtonian chirp time */
REAL8 t0Max; /* largest Newtonian chirp time */
REAL8 tnMin; /* smallest 1, 1.5 PN chirp time */
REAL8 tnMax; /* largest 1, 1.5 PN chirp time */
} }
RandomInspiralSignalIn; RandomInspiralSignalIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{RandomInspiralSignalIn} \idx[Type]{RandomInspiralSignalIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagInspiralWaveOverlapIn { tagInspiralWaveOverlapIn
INT4 nBegin, nEnd; {
REAL4Vector signal; INT4 nBegin;
REAL8Vector psd; INT4 nEnd;
REAL4Vector signal;
REAL8Vector psd;
InspiralTemplate param; InspiralTemplate param;
RealFFTPlan *fwdp, *revp; RealFFTPlan *fwdp;
RealFFTPlan *revp;
} }
InspiralWaveOverlapIn; InspiralWaveOverlapIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralwaveOverlapIn} \idx[Type]{InspiralwaveOverlapIn}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagInspiralWaveOverlapOut { tagInspiralWaveOverlapOut
{
REAL8 max, phase; REAL8 max, phase;
INT4 bin; INT4 bin;
} }
InspiralWaveOverlapOut; InspiralWaveOverlapOut;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\idx[Type]{InspiralWaveOverlapOut} \idx[Type]{InspiralWaveOverlapOut}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagInspiralFindEventsIn { tagInspiralFindEventsIn
INT4 nBegin, nEnd; {
REAL8 Threshold; INT4 nBegin;
REAL4Vector signal; INT4 nEnd;
REAL8Vector psd; REAL8 Threshold;
REAL4Vector signal;
REAL8Vector psd;
InspiralTemplate param; InspiralTemplate param;
RealFFTPlan *fwdp, *revp; RealFFTPlan *fwdp;
RealFFTPlan *revp;
UINT2 displayTemplates;
UINT2 displayCorrelation;
UINT2 displayCorrelationStats;
} }
InspiralFindEventsIn; InspiralFindEventsIn;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\index{\texttt{InspiralFindEventsIn}} \index{\texttt{InspiralFindEventsIn}}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagInspiralFindEventsOut { tagInspiralEventsList
REAL8 max, phase; {
INT4 bin; REAL8 max;
REAL8 phase;
REAL8 eventTime;
UINT4 bin;
InspiralTemplate param;
} }
InspiralFindEventsOut; InspiralEventsList;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\index{\texttt{InspiralFindEventsOut}} \index{\texttt{InspiralEventsList}}
</lalLaTeX> */ </lalLaTeX> */
/* <lalVerbatim file="LALNoiseModelsHS"> */ /* <lalVerbatim file="LALNoiseModelsHS"> */
typedef struct typedef struct
tagStatsREAL4VectorOut tagStatsREAL4VectorOut
{ {
REAL8 mean, var, stddev; REAL8 mean;
} StatsREAL4VectorOut; REAL8 var;
REAL8 stddev;
REAL8 min;
REAL8 max;
}
StatsREAL4VectorOut;
/* </lalVerbatim> */ /* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\index{\texttt{StatsREAL4VectorOut}} \index{\texttt{StatsREAL4VectorOut}}
</lalLaTeX> */ </lalLaTeX> */
/* <lalLaTeX> /* <lalLaTeX>
\vfill{\footnotesize\input{LALNoiseModelsHV}} \vfill{\footnotesize\input{LALNoiseModelsHV}}
</lalLaTeX> */ </lalLaTeX> */
/* Function prototypes */ /* Function prototypes */
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALNoiseSpectralDensityC} \newpage\input{LALNoiseSpectralDensityC}
</lalLaTeX> */ </lalLaTeX> */
void LALNoiseSpectralDensity (LALStatus *status, void
REAL8Vector *psd, LALNoiseSpectralDensity
void (*NoisePsd)(LALStatus *status, REAL8 *sh (
f, REAL8 f), LALStatus *status,
REAL8 f); REAL8Vector *psd,
void (*NoisePsd)(LALStatus *status, REAL8 *shf, REAL8 f),
REAL8 f
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALInspiralWaveCorrelateC} \newpage\input{LALInspiralWaveCorrelateC}
</lalLaTeX> */ </lalLaTeX> */
void LALInspiralWaveCorrelate (LALStatus *status, void
REAL4Vector *output, LALInspiralWaveCorrelate
InspiralWaveCorrelateIn in); (
LALStatus *status,
REAL4Vector *output,
InspiralWaveCorrelateIn in
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALInspiralWaveNormaliseC} \newpage\input{LALInspiralWaveNormaliseC}
</lalLaTeX> */ </lalLaTeX> */
void LALInspiralWaveNormalise (LALStatus *status, void
REAL4Vector *dh, LALInspiralWaveNormalise
REAL8 *norm, (
REAL8Vector psd); LALStatus *status,
REAL4Vector *dh,
REAL8 *norm,
REAL8Vector psd
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALGEOPsdC} \newpage\input{LALGEOPsdC}
</lalLaTeX> */ </lalLaTeX> */
void LALGEOPsd (LALStatus *status, REAL8 *shf, REAL8 x); void
LALGEOPsd
(
LALStatus *status,
REAL8 *shf,
REAL8 x
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALLIGOIPsdC} \newpage\input{LALLIGOIPsdC}
</lalLaTeX> */ </lalLaTeX> */
void LALLIGOIPsd (LALStatus *status, REAL8 *shf, REAL8 x); void
LALLIGOIPsd
(
LALStatus *status,
REAL8 *shf,
REAL8 x
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALTAMAPsdC} \newpage\input{LALTAMAPsdC}
</lalLaTeX> */ </lalLaTeX> */
void LALTAMAPsd (LALStatus *status, REAL8 *shf, REAL8 x); void
LALTAMAPsd
(
LALStatus *status,
REAL8 *shf,
REAL8 x
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALVIRGOPsdC} \newpage\input{LALVIRGOPsdC}
</lalLaTeX> */ </lalLaTeX> */
void LALVIRGOPsd (LALStatus *status, REAL8 *shf, REAL8 x); void
LALVIRGOPsd
(
LALStatus *status,
REAL8 *shf,
REAL8 x
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALRandomInspiralSignalC} \newpage\input{LALRandomInspiralSignalC}
</lalLaTeX> */ </lalLaTeX> */
void LALRandomInspiralSignal(LALStatus *status, void
REAL4Vector *signal, LALRandomInspiralSignal
RandomInspiralSignalIn *randIn); (
LALStatus *status,
REAL4Vector *signal,
RandomInspiralSignalIn *randIn
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALColoredNoiseC} \newpage\input{LALColoredNoiseC}
</lalLaTeX> */ </lalLaTeX> */
void LALColoredNoise (LALStatus *status, void
REAL4Vector *noisy, LALColoredNoise
REAL8Vector psd); (
LALStatus *status,
REAL4Vector *noisy,
REAL8Vector psd
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALAddVectorsC} \newpage\input{LALAddVectorsC}
</lalLaTeX> */ </lalLaTeX> */
void LALAddVectors(LALStatus *status, void
REAL4Vector *vector, LALAddVectors
AddVectorsIn in); (
LALStatus *status,
REAL4Vector *vector,
AddVectorsIn in);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALInspiralWaveOverlapC} \newpage\input{LALInspiralWaveOverlapC}
</lalLaTeX> */ </lalLaTeX> */
void LALInspiralWaveOverlap (LALStatus *status, void
REAL4Vector *output, LALInspiralWaveOverlap
InspiralWaveOverlapOut *overlapout, (
InspiralWaveOverlapIn *overlapin); LALStatus *status,
REAL4Vector *output,
InspiralWaveOverlapOut *overlapout,
InspiralWaveOverlapIn *overlapin
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALInspiralFindEventsC} \newpage\input{LALInspiralFindEventsC}
</lalLaTeX> */ </lalLaTeX> */
void LALInspiralFindEvents (LALStatus *status, void
INT4 *nEvents, LALInspiralFindEvents
InspiralFindEventsOut **findeventsout, (
InspiralFindEventsIn *findeventsin); LALStatus *status,
INT4 *nEvents,
InspiralEventsList **findeventsout,
InspiralFindEventsIn *findeventsin
);
/* <lalLaTeX> /* <lalLaTeX>
\newpage\input{LALStatsREAL4VectorC} \newpage\input{LALStatsREAL4VectorC}
</lalLaTeX> */ </lalLaTeX> */
void LALStatsREAL4Vector(LALStatus *status, void
StatsREAL4VectorOut *out, LALStatsREAL4Vector
REAL4Vector *vector); (
LALStatus *status,
StatsREAL4VectorOut *out,
REAL4Vector *vector
);
/* <lalLaTeX>
\newpage\input{FilterTestC}
</lalLaTeX> */
/* <lalLaTeX>
\newpage\input{RandomInspiralSignalTestC}
</lalLaTeX> */
/* <lalLaTeX>
\newpage\input{NoisePSDTestC}
</lalLaTeX> */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _LALNOISEMODELS_H */ #endif /* _LALNOISEMODELS_H */
 End of changes. 30 change blocks. 
73 lines changed or deleted 186 lines changed or added


 LALStatusMacros.h   LALStatusMacros.h 
/****************************** <lalVerbatim file="LALStatusMacrosHV"> /****************************** <lalVerbatim file="LALStatusMacrosHV">
Author: Creighton, J. D. E. and Creighton, T. D. Author: Creighton, J. D. E. and Creighton, T. D.
$Id: LALStatusMacros.h,v 1.22 2001/11/27 01:55:24 jolien Exp $ $Id: LALStatusMacros.h,v 1.23 2002/04/12 16:26:25 jolien Exp $
******************************* </lalVerbatim> */ ******************************* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{LALStatusMacros.h}} \section{Header \texttt{LALStatusMacros.h}}
\label{s:LALStatusMacros.h} \label{s:LALStatusMacros.h}
Provides macros for handling the LAL status structure. Provides macros for handling the LAL status structure.
\subsection*{Synopsis} \subsection*{Synopsis}
skipping to change at line 762 skipping to change at line 762
#include <lal/LALMalloc.h> #include <lal/LALMalloc.h>
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/LALError.h> #include <lal/LALError.h>
#include <lal/LALRCSID.h> #include <lal/LALRCSID.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (LALSTATUSMACROSH, "$Id: LALStatusMacros.h,v 1.22 2001/11/27 01:55:2 4 jolien Exp $"); NRCSID (LALSTATUSMACROSH, "$Id: LALStatusMacros.h,v 1.23 2002/04/12 16:26:2 5 jolien Exp $");
extern int lalDebugLevel; extern int lalDebugLevel;
extern const int lalNoDebug; extern const int lalNoDebug;
#ifndef NOLALMACROS #ifndef NOLALMACROS
#define INITSTATUS( statusptr, funcname, id ) \ #define INITSTATUS( statusptr, funcname, id ) \
if ( (statusptr) ) \ if ( (statusptr) ) \
{ \ { \
INT4 level = (statusptr)->level ; INT4 level_ = (statusptr)->level ;
\ \
INT4 statp = (statusptr)->statusPtr ? 1 : 0 ; INT4 statp_ = (statusptr)->statusPtr ? 1 : 0 ;
\ \
memset( (statusptr), 0, sizeof( LALStatus ) ); /* possible memory leak */ \ memset( (statusptr), 0, sizeof( LALStatus ) ); /* possible memory leak */ \
(statusptr)->level = level > 0 ? level : 1 ; \ (statusptr)->level = level_ > 0 ? level_ : 1 ; \
(statusptr)->Id = (id); \ (statusptr)->Id = (id); \
(statusptr)->function = (funcname); \ (statusptr)->function = (funcname); \
SETSTATUSFILELINE( statusptr ); \ SETSTATUSFILELINE( statusptr ); \
(void) LALTrace( statusptr, 0 ); \ (void) LALTrace( statusptr, 0 ); \
if ( statp ) \ if ( statp_ ) \
{ \ { \
ABORT( statusptr, -2, "INITSTATUS: non-null status pointer" ); \ ABORT( statusptr, -2, "INITSTATUS: non-null status pointer" ); \
} \ } \
} \ } \
else \ else \
lalAbortHook( "Abort: function %s, file %s, line %d, %s\n" \ lalAbortHook( "Abort: function %s, file %s, line %d, %s\n" \
" Null status pointer passed to function\n", \ " Null status pointer passed to function\n", \
(funcname), __FILE__, __LINE__, (id) ) (funcname), __FILE__, __LINE__, (id) )
#define RETURN( statusptr ) \ #define RETURN( statusptr ) \
skipping to change at line 875 skipping to change at line 875
SETSTATUS( statusptr, -1, "Recursive error" ); \ SETSTATUS( statusptr, -1, "Recursive error" ); \
(void) LALError( statusptr, "CHECKSTATUSPTR:" ); \ (void) LALError( statusptr, "CHECKSTATUSPTR:" ); \
(void) LALTrace( statusptr, 1 ); \ (void) LALTrace( statusptr, 1 ); \
return; \ return; \
} \ } \
else (void)(0) else (void)(0)
#define FREESTATUSPTR( statusptr ) \ #define FREESTATUSPTR( statusptr ) \
do \ do \
{ \ { \
LALStatus *next = (statusptr)->statusPtr->statusPtr; \ LALStatus *next_ = (statusptr)->statusPtr->statusPtr; \
LALFree( (statusptr)->statusPtr ); \ LALFree( (statusptr)->statusPtr ); \
(statusptr)->statusPtr = next; \ (statusptr)->statusPtr = next_; \
} \ } \
while ( (statusptr)->statusPtr ) while ( (statusptr)->statusPtr )
#define REPORTSTATUS( statusptr ) \ #define REPORTSTATUS( statusptr ) \
do \ do \
{ \ { \
LALStatus *ptr; LALStatus *ptr_;
\ \
for ( ptr = (statusptr); ptr; ptr = ptr->statusPtr ) for ( ptr_ = (statusptr); ptr_; ptr_ = ptr_->statusPtr )
\ \
{ \ { \
LALPrintError( "\nLevel %i: %s\n", ptr->level, ptr->Id ); LALPrintError( "\nLevel %i: %s\n", ptr_->level, ptr_->Id );
\ \
if ( ptr->statusCode ) if ( ptr_->statusCode )
\ \
{ \ { \
LALPrintError( "\tStatus code %i: %s\n", ptr->statusCode, LALPrintError( "\tStatus code %i: %s\n", ptr_->statusCode,
\ \
ptr->statusDescription ); ptr_->statusDescription );
\ \
} \ } \
else \ else \
{ \ { \
LALPrintError( "\tStatus code 0: Nominal\n" ); \ LALPrintError( "\tStatus code 0: Nominal\n" ); \
} \ } \
LALPrintError( "\tfunction %s, file %s, line %i\n", \ LALPrintError( "\tfunction %s, file %s, line %i\n", \
ptr->function, ptr->file, ptr->line ); \ ptr_->function, ptr_->file, ptr_->line ); \
} \ } \
} while ( 0 ) } while ( 0 )
#else /* NOLALMACROS */ #else /* NOLALMACROS */
#define INITSTATUS( statusptr, funcname, id ) \ #define INITSTATUS( statusptr, funcname, id ) \
if ( LALInitStatus( statusptr, funcname, id, __FILE__, __LINE__ ) ) retur n if ( LALInitStatus( statusptr, funcname, id, __FILE__, __LINE__ ) ) retur n
#define RETURN( statusptr ) \ #define RETURN( statusptr ) \
if ( LALPrepareReturn( statusptr, __FILE__, __LINE__ ), 1 ) return if ( LALPrepareReturn( statusptr, __FILE__, __LINE__ ), 1 ) return
skipping to change at line 960 skipping to change at line 960
#define BEGINFAIL( statusptr ) \ #define BEGINFAIL( statusptr ) \
do { \ do { \
if ( !(statusptr) ) { \ if ( !(statusptr) ) { \
ABORT( statusptr, -8, "BEGINFAIL: null status pointer" ); \ ABORT( statusptr, -8, "BEGINFAIL: null status pointer" ); \
} \ } \
if ( !( (statusptr)->statusPtr ) ) { \ if ( !( (statusptr)->statusPtr ) ) { \
ABORT( statusptr, -8, "BEGINFAIL: null status pointer pointer" ); \ ABORT( statusptr, -8, "BEGINFAIL: null status pointer pointer" ); \
} \ } \
if ( (statusptr)->statusPtr->statusCode ) { \ if ( (statusptr)->statusPtr->statusCode ) { \
LALStatus *statusPtrSave = (statusptr)->statusPtr; \ LALStatus *statusPtrSave_ = (statusptr)->statusPtr; \
(statusptr)->statusPtr = NULL; \ (statusptr)->statusPtr = NULL; \
ATTATCHSTATUSPTR( statusptr ); \ ATTATCHSTATUSPTR( statusptr ); \
do do
#define ENDFAIL( statusptr ) \ #define ENDFAIL( statusptr ) \
while ( 0 ); \ while ( 0 ); \
DETATCHSTATUSPTR( statusptr ); \ DETATCHSTATUSPTR( statusptr ); \
(statusptr)->statusPtr = statusPtrSave; \ (statusptr)->statusPtr = statusPtrSave_; \
SETSTATUS( statusptr, -1, "Recursive error" ); \ SETSTATUS( statusptr, -1, "Recursive error" ); \
(void) LALError( statusptr, "ENDFAIL:" ); \ (void) LALError( statusptr, "ENDFAIL:" ); \
(void) LALTrace( statusptr, 1 ); \ (void) LALTrace( statusptr, 1 ); \
return; \ return; \
} \ } \
} while ( 0 ) } while ( 0 )
#define SETSTATUSFILELINE( statusptr ) \ #define SETSTATUSFILELINE( statusptr ) \
( ( void ) ( (statusptr)->file = __FILE__, (statusptr)->line = __LINE__ ) ) ( ( void ) ( (statusptr)->file = __FILE__, (statusptr)->line = __LINE__ ) )
 End of changes. 13 change blocks. 
25 lines changed or deleted 25 lines changed or added


 LALStdlib.h   LALStdlib.h 
/************************************ <lalVerbatim file="LALStdlibHV"> /************************************ <lalVerbatim file="LALStdlibHV">
Author: J. D. E. Creighton, T. D. Creighton Author: J. D. E. Creighton, T. D. Creighton
$Id: LALStdlib.h,v 1.10 2001/12/01 22:09:43 jolien Exp $ $Id: LALStdlib.h,v 1.11 2002/04/22 20:34:23 jolien Exp $
************************************* </lalVerbatim> */ ************************************* </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{LALConfig.h}}
\label{s:LALConfig.h}
Defines configuration macro constants.
\subsection*{Synopsis}
\begin{verbatim}
#include <lal/LALConfig.h>
\end{verbatim}
\noindent This header (which is not technically in the \texttt{std} package
;
rather it is generated directly in the \texttt{include/lal} directory durin
g
configuration) is included in essentially every other header file. It
contains macro constants that are defined at configuration time. They are:
\idx[Constant]{LAL\_VERSION}
\idx[Constant]{LAL\_VERSION\_MAJOR}
\idx[Constant]{LAL\_VERSION\_MINOR}
\idx[Constant]{LAL\_CONFIGURE\_ARGS}
\idx[Constant]{LAL\_CONFIGURE\_DATE}
\idx[Constant]{LAL\_CVS\_TAG}
\idx[Constant]{LAL\_SIZEOF\_DOUBLE}
\idx[Constant]{LAL\_SIZEOF\_FLOAT}
\idx[Constant]{LAL\_SIZEOF\_INT}
\idx[Constant]{LAL\_SIZEOF\_LONG}
\idx[Constant]{LAL\_SIZEOF\_LONG\_LONG}
\idx[Constant]{LAL\_SIZEOF\_SHORT}
\idx[Constant]{LAL\_NDEBUG}
\idx[Constant]{NOLALMACROS}
\idx[Constant]{LAL\_PTHREAD\_LOCK}
\idx[Constant]{LAL\_FRAME\_ENABLED}
\idx[Constant]{LAL\_MPI\_ENABLED}
\begin{description}
\item[\texttt{LAL\_VERSION}] Constant string containing the version of LAL.
\item[\texttt{LAL\_VERSION\_MAJOR}] Integer representing the major version
number of LAL.
\item[\texttt{LAL\_VERSION\_MINOR}] Integer representing the minor version
number of LAL.
\item[\texttt{LAL\_CONFIGURE\_ARGS}] Constant string containing the argumen
ts
given to the configure script.
\item[\texttt{LAL\_CONFIGURE\_DATE}] Constant string containing the date
when LAL was configured.
\item[\texttt{LAL\_CVS\_TAG}] Constant string containing the CVS tag used t
o
checkout LAL (blank if none).
\item[\texttt{LAL\_SIZEOF\_DOUBLE}] Integer representing the size of a
double precision floating point number.
\item[\texttt{LAL\_SIZEOF\_FLOAT}] Integer representing the size of a
single precision floating point number.
\item[\texttt{LAL\_SIZEOF\_INT}] Integer representing the size of a
integer.
\item[\texttt{LAL\_SIZEOF\_LONG}] Integer representing the size of a
long integer.
\item[\texttt{LAL\_SIZEOF\_LONG\_LONG}] Integer representing the size of a
long long integer.
\item[\texttt{LAL\_SIZEOF\_SHORT}] Integer representing the size of a
short integer.
\item[\texttt{LAL\_NDEBUG}] Defined if debugging is turned off (use the
configure argument \texttt{--disable-debug} to do this).
\item[\texttt{NOLALMACROS}] Defined if status macros are replaced by functi
ons
(where possible) (use the configure argument \texttt{--disable-macros} to
do
this).
\item[\texttt{LAL\_PTHREAD\_LOCK}] Defined if POSIX thread mutex locking is
to be used for threadsafety (use the configure argument
\texttt{--enable-pthread-lock} to do this).
\item[\texttt{LAL\_FRAME\_ENABLED}] Defined if LAL frame-format data readin
g
routines will be compiled (use the configure argument
\texttt{--enable-frame} to do this).
\item[\texttt{LAL\_MPI\_ENABLED}] Defined if LAL MPI routines will be compi
led
(use the configure argument \texttt{--enable-mpi} to do this).
\end{description}
\newpage
\section{Header \texttt{LALStdlib.h}} \section{Header \texttt{LALStdlib.h}}
\label{s:LALStdlib.h} \label{s:LALStdlib.h}
Includes the standard LAL header files. Includes the standard LAL header files.
\subsection*{Synopsis} \subsection*{Synopsis}
\begin{verbatim} \begin{verbatim}
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
\end{verbatim} \end{verbatim}
skipping to change at line 57 skipping to change at line 129
/* </lalVerbatim> /* </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\vfill{\footnotesize\input{LALStdlibHV}} \vfill{\footnotesize\input{LALStdlibHV}}
</lalLaTeX> */ </lalLaTeX> */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (LALSTDLIBH, "$Id: LALStdlib.h,v 1.10 2001/12/01 22:09:43 jolien Exp $"); NRCSID (LALSTDLIBH, "$Id: LALStdlib.h,v 1.11 2002/04/22 20:34:23 jolien Exp $");
/* These are non-ANSI standard routines that will be allowed in LAL */ /* These are non-ANSI standard routines that will be allowed in LAL */
int getopt( int, char * const *, const char * ); int getopt( int, char * const *, const char * );
FILE *popen( const char *, const char * ); FILE *popen( const char *, const char * );
int pclose( FILE * ); int pclose( FILE * );
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
 End of changes. 3 change blocks. 
2 lines changed or deleted 82 lines changed or added


 LALVersion.h   LALVersion.h 
#if 0 /* autodoc block */ #if 0 /* autodoc block */
<lalVerbatim file="LALVersionHV"> <lalVerbatim file="LALVersionHV">
$Id: LALVersion.h,v 1.4 2001/03/12 22:33:40 jolien Exp $ $Id: LALVersion.h,v 1.5 2002/04/22 20:34:23 jolien Exp $
</lalVerbatim> </lalVerbatim>
<lalLaTeX> <lalLaTeX>
\section{Header \texttt{LALVersion.h}} \section{Header \texttt{LALVersion.h}}
\label{s:LALVersion.h} \label{s:LALVersion.h}
Provides routines for reporting the LAL version. Provides routines for reporting the LAL version.
\subsection*{Synopsis} \subsection*{Synopsis}
\begin{verbatim} \begin{verbatim}
#include <lal/LALVersion.h> #include <lal/LALVersion.h>
\end{verbatim} \end{verbatim}
\noindent This header covers the routines for reporting the LAL version. \noindent This header covers the routines for reporting the LAL version.
\subsection*{Global variables} \subsection*{Global variables}
\idx[Constant]{lalVersion}
\idx[Constant]{lalVersionMajor}
\idx[Constant]{lalVersionMinor}
\idx[Constant]{lalConfigureArgs}
\idx[Constant]{lalConfigureDate}
\idx[Constant]{lalCVSTag}
\begin{verbatim} \begin{verbatim}
extern const char *lalVersion; extern const char *lalVersion;
extern const int lalVersionMajor; extern const int lalVersionMajor;
extern const int lalVersionMinor; extern const int lalVersionMinor;
extern const char *lalConfigureArgs; extern const char *lalConfigureArgs;
extern const char *lalConfigureDate; extern const char *lalConfigureDate;
extern const char *lalCVSTag;
\end{verbatim} \end{verbatim}
These constant variables are set at compile time and included into the LAL These constant variables are set at compile time and included into the LAL
library. They contain the information about the version of LAL and the library. They contain the information about the version of LAL and the
configuration information. configuration information.
\subsection*{Macros} \subsection*{Macros}
\begin{verbatim} \begin{verbatim}
#define LALVersionRequired( major, minor ) \ #define LALVersionRequired( major, minor ) \
( LAL_VERSION_MAJOR > ( major ) || \ ( LAL_VERSION_MAJOR > ( major ) || \
skipping to change at line 62 skipping to change at line 69
#ifndef _LALVERSION_H #ifndef _LALVERSION_H
#define _LALVERSION_H #define _LALVERSION_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( LALVERSIONH, "$Id: LALVersion.h,v 1.4 2001/03/12 22:33:40 jolien Ex p $" ); NRCSID( LALVERSIONH, "$Id: LALVersion.h,v 1.5 2002/04/22 20:34:23 jolien Ex p $" );
/* <lalErrTable file="LALVersionHErrTab"> */ /* <lalErrTable file="LALVersionHErrTab"> */
#define LALVERSIONH_ENULL 1 #define LALVERSIONH_ENULL 1
#define LALVERSIONH_ESIZE 2 #define LALVERSIONH_ESIZE 2
#define LALVERSIONH_ESPRN 4 #define LALVERSIONH_ESPRN 4
#define LALVERSIONH_ESHRT 8 #define LALVERSIONH_ESHRT 8
#define LALVERSIONH_MSGENULL "Null string pointer." #define LALVERSIONH_MSGENULL "Null string pointer."
#define LALVERSIONH_MSGESIZE "Zero string size." #define LALVERSIONH_MSGESIZE "Zero string size."
#define LALVERSIONH_MSGESPRN "Error in snprintf." #define LALVERSIONH_MSGESPRN "Error in snprintf."
#define LALVERSIONH_MSGESHRT "String too short." #define LALVERSIONH_MSGESHRT "String too short."
/* </lalErrTable> */ /* </lalErrTable> */
extern const char *lalVersion; extern const char *lalVersion;
extern const int lalVersionMajor; extern const int lalVersionMajor;
extern const int lalVersionMinor; extern const int lalVersionMinor;
extern const char *lalConfigureArgs; extern const char *lalConfigureArgs;
extern const char *lalConfigureDate; extern const char *lalConfigureDate;
extern const char *lalCVSTag;
#define LALVersionRequired( major, minor ) \ #define LALVersionRequired( major, minor ) \
( LAL_VERSION_MAJOR > ( major ) || \ ( LAL_VERSION_MAJOR > ( major ) || \
( LAL_VERSION_MAJOR == ( major ) && LAL_VERSION_MINOR >= ( minor ) ) ) ( LAL_VERSION_MAJOR == ( major ) && LAL_VERSION_MINOR >= ( minor ) ) )
void void
LALVersion( LALStatus *status, CHAR *message, UINT4 size, INT4 verbose ); LALVersion( LALStatus *status, CHAR *message, UINT4 size, INT4 verbose );
#ifdef __cplusplus #ifdef __cplusplus
} }
 End of changes. 5 change blocks. 
2 lines changed or deleted 10 lines changed or added


 StochasticCrossCorrelation.h   StochasticCrossCorrelation.h 
/*********************** <lalVerbatim file="StochasticCrossCorrelationHV"> /*********************** <lalVerbatim file="StochasticCrossCorrelationHV">
Author: UTB Relativity Group; contact whelan@oates.utb.edu (original by S. Author: UTB Relativity Group; contact whelan@phys.utb.edu (original by S. D
Drasco) rasco)
$Id: StochasticCrossCorrelation.h,v 1.17 2001/12/09 04:24:18 whelan Exp $ $Id: StochasticCrossCorrelation.h,v 1.22 2002/02/26 20:32:27 whelan Exp $
*********************************************************** </lalVerbatim> */ *********************************************************** </lalVerbatim> */
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\section{Header \texttt{StochasticCrossCorrelation.h}} \section{Header \texttt{StochasticCrossCorrelation.h}}
\label{stochastic:s:StochasticCrossCorrelation.h} \label{stochastic:s:StochasticCrossCorrelation.h}
Provides prototype and error code information for the modules needed Provides prototype and error code information for the modules needed
to calculate the standard optimally-filtered cross-correlation to calculate the standard optimally-filtered cross-correlation
statistic for stochastic background searches, given a pair of data statistic for stochastic background searches, given a pair of data
segments, along with appropriate representations of the detector segments, along with appropriate representations of the detector
transfer function and the (whitened) power spectral density of the transfer function and the (whitened) power spectral density of the
noise in each detector. The relationship among these modules is noise in each detector. The relationship among these modules is
illustrated in Fig.~\ref{stochastic:f:CrossCorrFlowchart}. illustrated in Fig.~\ref{stochastic:f:CrossCorrFlowchart}.
\begin{figure}[htb!] \begin{figure}[htb!]
\begin{center} \begin{center}
\begin{picture}(382,150)(-32,0) \begin{picture}(410,250)(-32,-110)
\put(168,123){\vector(1,0){15}} \put(168,123){\vector(1,0){15}}
\put(168,123){\line(1,0){25}} \put(168,123){\line(1,0){25}}
\put(195,120){$Y$} \put(195,120){$Y$}
\put(65,110) \put(65,110)
{ {
\framebox(100,30) \framebox(100,30)
{ {
\texttt{CrossCorr} \texttt{CrossCorr}
} }
} }
skipping to change at line 54 skipping to change at line 54
\put(150,85){\vector(0,1){15}} \put(150,85){\vector(0,1){15}}
\put(150,85){\line(0,1){25}} \put(150,85){\line(0,1){25}}
\put(152,95){$\widetilde{Q}^{\scriptstyle{\rm W}}$} \put(152,95){$\widetilde{Q}^{\scriptstyle{\rm W}}$}
\put(100,55) \put(100,55)
{ {
\framebox(190,30) \framebox(190,30)
{ {
\texttt{OptimalFilter} \texttt{OptimalFilter}
} }
} }
\put(110,30){\vector(0,1){15}} \put(260,30){\vector(0,1){15}}
\put(110,30){\line(0,1){25}} \put(260,30){\line(0,1){25}}
%\put(107,40){$({P^{\scriptstyle{\rm HW}}_{1,2}})^{-1}$} \put(262,40){$\lambda$}
\put(112,40){$\frac{1}{P^{\scriptstyle{\rm HW}}_{1,2}}$} \put(343,13){\vector(1,0){15}}
%\put(117,40){$\frac{\tilde{R}_{1,2}}{P_{1,2}}$} \put(343,13){\line(1,0){25}}
\put(140,30){\vector(0,1){15}} \put(370,10){$\sigma^2/T$}
\put(140,30){\line(0,1){25}} \put(190,0)
% \put(142,40){${P_{1,2}}^{-1}$}
\put(142,40){$\frac{1}{P_{1,2}}$}
%\put(142,40){$\frac{|\tilde{R}_{1,2}|^2}{P_{1,2}}$}
\put(40,0)
{ {
\framebox(115,30) \framebox(150,30)
{ {
\texttt{InverseNoise} \texttt{Normalization}
} }
} }
\put(210,30){\vector(0,1){15}} \put(200,-30){\vector(0,1){25}}
\put(210,30){\line(0,1){25}} \put(200,-30){\line(0,1){30}}
\put(212,40){$\Omega_{\scriptstyle{\rm GW}}$} \put(202,-10){$\Omega_{\scriptstyle{\rm GW}}$}
\put(-2,2){$\tilde{R}_{1,2}$} \put(200,-10){\line(-1,0){35}}
\put(18,5){\vector(1,0){15}} \put(165,-10){\line(0,1){65}}
\put(18,5){\line(1,0){25}} \put(165,-10){\vector(0,1){55}}
\put(-2,20){$P^{\scriptstyle{\rm W}}_{1,2}$} \put(167,40){$\Omega_{\scriptstyle{\rm GW}}$}
\put(18,23){\vector(1,0){15}} \put(170,-60)
\put(18,23){\line(1,0){25}}
\put(165,0)
{ {
\framebox(75,30) \framebox(70,30)
{ {
\texttt{OmegaGW} \texttt{OmegaGW}
} }
} }
\put(280,30){\vector(0,1){15}} \put(280,-30){\vector(0,1){20}}
\put(280,30){\line(0,1){25}} \put(280,-30){\line(0,1){30}}
\put(282,40){$\gamma$} \put(282,-15){$\gamma$}
\put(250,0) \put(280,-20){\line(-1,0){130}}
\put(150,-20){\line(0,1){75}}
\put(150,-20){\vector(0,1){55}}
\put(152,30){$\gamma$}
\put(250,-60)
{ {
\framebox(100,30) \framebox(70,30)
{ {
\texttt{Overlap} \texttt{Overlap}
} }
} }
\put(125,-80){\line(0,1){135}}
\put(125,-80){\vector(0,1){100}}
%\put(107,40){$({P^{\scriptstyle{\rm HW}}_{1,2}})^{-1}$}
\put(127,20){$\frac{1}{P^{\scriptstyle{\rm HW}}_{1,2}}$}
%\put(117,40){$\frac{\tilde{R}_{1,2}}{P_{1,2}}$}
\put(330,-80){\line(0,1){80}}
\put(330,-80){\vector(0,1){45}}
% \put(142,40){${P_{1,2}}^{-1}$}
\put(332,-35){$\frac{1}{P_{1,2}}$}
%\put(142,40){$\frac{|\tilde{R}_{1,2}|^2}{P_{1,2}}$}
\put(115,-110)
{
\framebox(225,30)
{
\texttt{InverseNoise}
}
}
\put(73,-108){$\tilde{R}_{1,2}$}
\put(93,-105){\vector(1,0){15}}
\put(93,-105){\line(1,0){25}}
\put(73,-90){$P^{\scriptstyle{\rm W}}_{1,2}$}
\put(93,-87){\vector(1,0){15}}
\put(93,-87){\line(1,0){25}}
\end{picture} \end{picture}
\end{center} \end{center}
\caption{\label{stochastic:f:CrossCorrFlowchart} Relationship among \caption{\label{stochastic:f:CrossCorrFlowchart} Relationship among
the modules dependent on \texttt{StochasticCrossCorrelation.h}, the modules dependent on \texttt{StochasticCrossCorrelation.h},
which are used to calculate the cross-correlation statistic $Y$ from which are used to calculate the cross-correlation statistic $Y$
and its theoretical variance per unit time $\sigma^2/T$ from
(whitened) stretches of data $h^{\scriptstyle{\rm W}}_1(t)$, (whitened) stretches of data $h^{\scriptstyle{\rm W}}_1(t)$,
$h^{\scriptstyle{\rm W}}_2(t)$, from two detectors, using metadata $h^{\scriptstyle{\rm W}}_2(t)$, from two detectors, using metadata
on the power spectral densities $P^{\scriptstyle{\rm W}}_1(f)$, on the power spectral densities $P^{\scriptstyle{\rm W}}_1(f)$,
$P^{\scriptstyle{\rm W}}_2(f)$ and transfer functions (whitening $P^{\scriptstyle{\rm W}}_2(f)$ and transfer functions (whitening
filters) $\tilde{R}_1(f)$, $\tilde{R}_2(f)$ for each detector. filters) $\tilde{R}_1(f)$, $\tilde{R}_2(f)$ for each detector.
\texttt{CrossCorr} represents the module \texttt{CrossCorr} represents the module
\texttt{StochasticCrossCorrelation.c} \texttt{StochasticCrossCorrelation.c}
(Sec.~\ref{stochastic:ss:StochasticCrossCorrelation.c}) (Sec.~\ref{stochastic:ss:StochasticCrossCorrelation.c})
containing the functions containing the functions
\texttt{LALStochasticCrossCorrelationStatistic()}, \texttt{LALStochasticCrossCorrelationStatistic()},
skipping to change at line 123 skipping to change at line 145
and \texttt{LALStochasticCrossCorrelationSpectrum()}, and \texttt{LALStochasticCrossCorrelationSpectrum()},
\texttt{ZeroPadAndFFT} represents the module \texttt{ZeroPadAndFFT} represents the module
\texttt{ZeroPadAndFFT.c} (Sec.~\ref{stochastic:ss:ZeroPadAndFFT.c}) \texttt{ZeroPadAndFFT.c} (Sec.~\ref{stochastic:ss:ZeroPadAndFFT.c})
containing the functions containing the functions
\texttt{LALSZeroPadAndFFT()} and \texttt{LALCZeroPadAndFFT()}; \texttt{LALSZeroPadAndFFT()} and \texttt{LALCZeroPadAndFFT()};
\texttt{OptimalFilter} represents the module \texttt{OptimalFilter} represents the module
\texttt{StochasticOptimalFilter.c} \texttt{StochasticOptimalFilter.c}
(Sec.~\ref{stochastic:ss:StochasticOptimalFilter.c}) (Sec.~\ref{stochastic:ss:StochasticOptimalFilter.c})
containing the function containing the function
\texttt{LALStochasticOptimalFilter()}; \texttt{LALStochasticOptimalFilter()};
\texttt{Normalization} represents the module
\texttt{StochasticOptimalFilterNormalization.c}
(Sec.~\ref{stochastic:ss:StochasticOptimalFilterNormalization.c})
containing the function
\texttt{LALStochasticOptimalFilterNormalization()};
\texttt{InverseNoise} represents the module \texttt{InverseNoise} represents the module
\texttt{StochasticInverseNoise.c} \texttt{StochasticInverseNoise.c}
(Sec.~\ref{stochastic:ss:StochasticInverseNoise.c}) (Sec.~\ref{stochastic:ss:StochasticInverseNoise.c})
containing the function containing the function
\texttt{LALStochasticInverseNoise()}; \texttt{LALStochasticInverseNoise()};
\texttt{OmegaGW} represents the module \texttt{OmegaGW} represents the module
\texttt{StochasticOmegaGW.c} \texttt{StochasticOmegaGW.c}
(Sec.~\ref{stochastic:ss:StochasticOmegaGW.c}) (Sec.~\ref{stochastic:ss:StochasticOmegaGW.c})
containing the function containing the function
\texttt{LALStochasticOmegaGW()}; \texttt{LALStochasticOmegaGW()};
skipping to change at line 168 skipping to change at line 195
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#include <lal/DetectorSite.h> #include <lal/DetectorSite.h>
#include <lal/Units.h> #include <lal/Units.h>
#include <lal/TimeFreqFFT.h> #include <lal/TimeFreqFFT.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID( STOCHASTICCROSSCORRELATIONH, NRCSID( STOCHASTICCROSSCORRELATIONH,
"$Id: StochasticCrossCorrelation.h,v 1.17 2001/12/09 04:24:18 whela n Exp $" ); "$Id: StochasticCrossCorrelation.h,v 1.22 2002/02/26 20:32:27 whela n Exp $" );
/****************** <lalErrTable file="StochasticCrossCorrelationHE"> */ /****************** <lalErrTable file="StochasticCrossCorrelationHE"> */
#define STOCHASTICCROSSCORRELATIONH_ENULLPTR 1 #define STOCHASTICCROSSCORRELATIONH_ENULLPTR 1
#define STOCHASTICCROSSCORRELATIONH_ESAMEPTR 2 #define STOCHASTICCROSSCORRELATIONH_ESAMEPTR 2
#define STOCHASTICCROSSCORRELATIONH_EZEROLEN 3 #define STOCHASTICCROSSCORRELATIONH_EZEROLEN 3
#define STOCHASTICCROSSCORRELATIONH_ENONPOSDELTAF 4 #define STOCHASTICCROSSCORRELATIONH_ENONPOSDELTAF 4
#define STOCHASTICCROSSCORRELATIONH_ENONPOSDELTAT 5 #define STOCHASTICCROSSCORRELATIONH_ENONPOSDELTAT 5
#define STOCHASTICCROSSCORRELATIONH_ENEGFMIN 6 #define STOCHASTICCROSSCORRELATIONH_ENEGFMIN 6
#define STOCHASTICCROSSCORRELATIONH_EMMTIME 7 #define STOCHASTICCROSSCORRELATIONH_EMMTIME 7
skipping to change at line 411 skipping to change at line 438
$1/P_1^{\scriptstyle{\rm HW}}(f) $1/P_1^{\scriptstyle{\rm HW}}(f)
=1/(\tilde{R_1}(f)P_1(f)) =1/(\tilde{R_1}(f)P_1(f))
=\tilde{R_1}(f)^* / P_1^{\scriptstyle{\rm W}}(f)$ of the =\tilde{R_1}(f)^* / P_1^{\scriptstyle{\rm W}}(f)$ of the
half-whitened noise power spectral density for the first detector. half-whitened noise power spectral density for the first detector.
\item[\texttt{COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD2}] \item[\texttt{COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD2}]
The reciprocal The reciprocal
$1/P_2^{\scriptstyle{\rm HW}}(f) $1/P_2^{\scriptstyle{\rm HW}}(f)
=1/(\tilde{R_2}(f)P_2(f)) =1/(\tilde{R_2}(f)P_2(f))
=\tilde{R_2}(f)^* / P_2^{\scriptstyle{\rm W}}(f)$ of the =\tilde{R_2}(f)^* / P_2^{\scriptstyle{\rm W}}(f)$ of the
half-whitened noise power spectral density for the second detector. half-whitened noise power spectral density for the second detector.
\item[\texttt{REAL4FrequencySeries *unWhitenedInverseNoisePSD1}] \end{description}
*********************************************************** </lalLaTeX> */
typedef struct tagStochasticOptimalFilterInput {
REAL4FrequencySeries *overlapReductionFunction;
REAL4FrequencySeries *omegaGW;
COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD1;
COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD2;
} StochasticOptimalFilterInput;
/********** <lalVerbatim file="StochasticCrossCorrelationHPOF"> *********/
void
LALStochasticOptimalFilter(
LALStatus *status,
COMPLEX8FrequencySeries *optimalFilter,
const StochasticOptimalFilterInput *input,
const REAL4WithUnits *lambda);
/********** </lalVerbatim> *********/
/*************************************************************
* *
* Structures and prototypes associated with *
* StochasticOptimalFilterNormalization.c *
* *
*************************************************************/
/********************************************************** <lalLaTeX>
\subsubsection*{Structures and protoypes associated with
\texttt{StochasticOptimalFilterNormalization.c}
(Sec.~\ref{stochastic:ss:StochasticOptimalFilterNormalization.c})}
\subsubsection*{Prototypes}
\idx{LALStochasticOptimalFilterNormalization()}
\input{StochasticCrossCorrelationHPON}
\subsubsection*{\texttt{struct StochasticOptimalFilterNormalizationOutput}}
\idx[Type]{StochasticOptimalFilterNormalizationOutput}
\noindent
Contains the outputs of \texttt{LALStochasticOptimalFilterNormalization()}.
The fields are:
\begin{description}
\item[\texttt{REAL4WithUnits *normalization}]
The normalization parameter $\lambda$.
\item[\texttt{REAL4WithUnits *variance}]
The variance per unit time $\sigma^2/T$ of the cross-correlation statistic.
\end{description}
*********************************************************** </lalLaTeX> */
typedef struct tagStochasticOptimalFilterNormalizationOutput {
REAL4WithUnits *normalization;
REAL4WithUnits *variance;
} StochasticOptimalFilterNormalizationOutput;
/********************************************************** <lalLaTeX>
\subsubsection*{\texttt{struct StochasticOptimalFilterNormalizationInput}}
\idx[Type]{StochasticOptimalFilterNormalizationInput}
\noindent
Contains the inputs of \texttt{LALStochasticOptimalFilterNormalization()}.
The fields are:
\begin{description}
\item[\texttt{REAL4FrequencySeries *overlapReductionFunction}]
The overlap reduction function $\gamma(f)$ describing the pair of detector
sites.
\item[\texttt{REAL4FrequencySeries *omegaGW}] The spectrum
$\Omega_{\scriptstyle{\rm GW}}(f)$ of the stochastic gravitational-wave
background.
\item[\texttt{REAL4FrequencySeries *inverseNoisePSD1}]
The reciprocal The reciprocal
$1/P_1(f)=|\tilde{R_1}(f)|^2/P_1^{\scriptstyle{\rm W}}(f)$ of the $1/P_1(f)=|\tilde{R_1}(f)|^2/P_1^{\scriptstyle{\rm W}}(f)$ of the
unwhitened noise power spectral density for the first detector. unwhitened noise power spectral density for the first detector.
\item[\texttt{REAL4FrequencySeries *unWhitenedInverseNoisePSD2}] \item[\texttt{REAL4FrequencySeries *inverseNoisePSD2}]
The reciprocal The reciprocal
$1/P_2(f)=|\tilde{R_2}(f)|^2/P_2^{\scriptstyle{\rm W}}(f)$ of the $1/P_2(f)=|\tilde{R_2}(f)|^2/P_2^{\scriptstyle{\rm W}}(f)$ of the
unwhitened noise power spectral density for the second detector. unwhitened noise power spectral density for the second detector.
\end{description} \end{description}
*********************************************************** </lalLaTeX> */ *********************************************************** </lalLaTeX> */
typedef struct tagStochasticOptimalFilterInput { typedef struct tagStochasticOptimalFilterNormalizationInput {
REAL4FrequencySeries *overlapReductionFunction; REAL4FrequencySeries *overlapReductionFunction;
REAL4FrequencySeries *omegaGW; REAL4FrequencySeries *omegaGW;
COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD1; REAL4FrequencySeries *inverseNoisePSD1;
COMPLEX8FrequencySeries *halfWhitenedInverseNoisePSD2; REAL4FrequencySeries *inverseNoisePSD2;
REAL4FrequencySeries *unWhitenedInverseNoisePSD1; } StochasticOptimalFilterNormalizationInput;
REAL4FrequencySeries *unWhitenedInverseNoisePSD2;
} StochasticOptimalFilterInput;
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
\subsubsection*{\texttt{struct StochasticOptimalFilterParameters}} \subsubsection*{\texttt{struct StochasticOptimalFilterNormalizationParamete
\idx[Type]{StochasticOptimalFilterParameters} rs}}
\idx[Type]{StochasticOptimalFilterNormalizationParameters}
\noindent \noindent
Contains the parameters of \texttt{LALStochasticOptimalFilter()}. Contains the parameters of \texttt{LALStochasticOptimalFilterNormalization( )}.
The fields are: The fields are:
\begin{description} \begin{description}
\item[\texttt{REAL8 fRef}] \item[\texttt{REAL8 fRef}]
The reference frequency used in defining the normalization. The reference frequency used in defining the normalization.
\item[\texttt{BOOLEAN heterodyned}] \item[\texttt{BOOLEAN heterodyned}]
Indicates whether the filter is to be used on heterodyned data or not. Indicates whether the filter is to be used on heterodyned data or not.
\end{description} \end{description}
*********************************************************** </lalLaTeX> */ *********************************************************** </lalLaTeX> */
typedef struct tagStochasticOptimalFilterParameters { typedef struct tagStochasticOptimalFilterNormalizationParameters {
REAL8 fRef; REAL8 fRef;
BOOLEAN heterodyned; BOOLEAN heterodyned;
} StochasticOptimalFilterParameters; } StochasticOptimalFilterNormalizationParameters;
/********** <lalVerbatim file="StochasticCrossCorrelationHPOF"> *********/ /********** <lalVerbatim file="StochasticCrossCorrelationHPON"> *********/
void void
LALStochasticOptimalFilter( LALStochasticOptimalFilterNormalization(
LALStatus *status, LALStatus *status,
COMPLEX8FrequencySeries *optimalFilter, StochasticOptimalFilterNormalizationOutput *output,
const StochasticOptimalFilterInput *input, const StochasticOptimalFilterNormalizationInput *input,
const StochasticOptimalFilterParameters *parameters); const StochasticOptimalFilterNormalizationParameters *parameter
s);
/********** </lalVerbatim> *********/ /********** </lalVerbatim> *********/
/************************************************************* /*************************************************************
* * * *
* Structures and prototypes associated with StochasticInverseNoise.c * * Structures and prototypes associated with StochasticInverseNoise.c *
* * * *
*************************************************************/ *************************************************************/
/********************************************************** <lalLaTeX> /********************************************************** <lalLaTeX>
skipping to change at line 712 skipping to change at line 814
\newpage\input{StochasticCrossCorrelationC} \newpage\input{StochasticCrossCorrelationC}
\newpage\input{StochasticCrossCorrelationStatisticTestC} \newpage\input{StochasticCrossCorrelationStatisticTestC}
\newpage\input{StochasticHeterodynedCrossCorrelationStatisticTestC} \newpage\input{StochasticHeterodynedCrossCorrelationStatisticTestC}
\newpage\input{StochasticCrossCorrelationSpectrumTestC} \newpage\input{StochasticCrossCorrelationSpectrumTestC}
\newpage\input{ZeroPadAndFFTC} \newpage\input{ZeroPadAndFFTC}
\newpage\input{SZeroPadAndFFTTestC} \newpage\input{SZeroPadAndFFTTestC}
\newpage\input{CZeroPadAndFFTTestC} \newpage\input{CZeroPadAndFFTTestC}
\newpage\input{StochasticOptimalFilterC} \newpage\input{StochasticOptimalFilterC}
\newpage\input{StochasticOptimalFilterTestC} \newpage\input{StochasticOptimalFilterTestC}
\newpage\input{StochasticOptimalFilterNormalizationC}
\newpage\input{StochasticOptimalFilterNormalizationTestC}
\newpage\input{StochasticInverseNoiseC} \newpage\input{StochasticInverseNoiseC}
\newpage\input{StochasticInverseNoiseTestC} \newpage\input{StochasticInverseNoiseTestC}
\newpage\input{StochasticOmegaGWC} \newpage\input{StochasticOmegaGWC}
\newpage\input{StochasticOmegaGWTestC} \newpage\input{StochasticOmegaGWTestC}
\newpage\input{OverlapReductionFunctionC} \newpage\input{OverlapReductionFunctionC}
\newpage\input{OverlapReductionFunctionTestC} \newpage\input{OverlapReductionFunctionTestC}
*********************************************************** </lalLaTeX> */ *********************************************************** </lalLaTeX> */
 End of changes. 24 change blocks. 
54 lines changed or deleted 160 lines changed or added


 TFCThresholds.h   TFCThresholds.h 
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* *
* File Name: TFCThresholds.h * File Name: TFCThresholds.h
* *
* Author: Julien Sylvestre * Author: Julien Sylvestre
* *
* Revision: $Id: TFCThresholds.h,v 1.2 2001/09/25 14:14:27 julien Exp $ * Revision: $Id: TFCThresholds.h,v 1.3 2002/03/25 15:54:02 julien Exp $
* *
-----------------------------------------------------------------------*/ -----------------------------------------------------------------------*/
/************************************ <lalVerbatim file="TFCTHRESHOLDSH"> /************************************ <lalVerbatim file="TFCTHRESHOLDSH">
Author: Sylvestre, J. Author: Sylvestre, J.
$Id: TFCThresholds.h,v 1.2 2001/09/25 14:14:27 julien Exp $ $Id: TFCThresholds.h,v 1.3 2002/03/25 15:54:02 julien Exp $
************************************* </lalVerbatim> */ ************************************* </lalVerbatim> */
#ifndef _TFCTHRESHOLDS_H #ifndef _TFCTHRESHOLDS_H
#define _TFCTHRESHOLDS_H #define _TFCTHRESHOLDS_H
#include <lal/LALDatatypes.h> #include <lal/LALDatatypes.h>
#include <lal/LALStatusMacros.h> #include <lal/LALStatusMacros.h>
#include "lal/LALRCSID.h" #include "lal/LALRCSID.h"
#ifdef __cplusplus /* C++ protection. */ #ifdef __cplusplus /* C++ protection. */
extern "C" { extern "C" {
#endif #endif
NRCSID (TFCTHRESHOLDSH, "$Id: TFCThresholds.h,v 1.2 2001/09/25 14:14:27 jul ien Exp $"); NRCSID (TFCTHRESHOLDSH, "$Id: TFCThresholds.h,v 1.3 2002/03/25 15:54:02 jul ien Exp $");
/******************************** <lalErrTable file="TFCThresholdsHErrTab" > */ /******************************** <lalErrTable file="TFCThresholdsHErrTab" > */
#define TFCTHRESHOLDSH_ENULLP 1 #define TFCTHRESHOLDSH_ENULLP 1
#define TFCTHRESHOLDSH_E01 128 #define TFCTHRESHOLDSH_E01 128
#define TFCTHRESHOLDSH_EEGOAL 129 #define TFCTHRESHOLDSH_EEGOAL 129
#define TFCTHRESHOLDSH_ENERR 130 #define TFCTHRESHOLDSH_ENERR 130
#define TFCTHRESHOLDSH_MSGENULLP "Null pointer" #define TFCTHRESHOLDSH_MSGENULLP "Null pointer"
#define TFCTHRESHOLDSH_MSGE01 "Argument must be in [0,1]" #define TFCTHRESHOLDSH_MSGE01 "Argument must be in [0,1]"
#define TFCTHRESHOLDSH_MSGEEGOAL "Error goal smaller than numerical precisi on" #define TFCTHRESHOLDSH_MSGEEGOAL "Error goal smaller than numerical precisi on"
skipping to change at line 57 skipping to change at line 57
\item[\texttt{varRe}] Variances of the real part of the Fourier transform o f the data, as a function of frequency (size = \texttt{nFreq}). \item[\texttt{varRe}] Variances of the real part of the Fourier transform o f the data, as a function of frequency (size = \texttt{nFreq}).
\item[\texttt{meanIm, varIm}] As above for imaginary part. \item[\texttt{meanIm, varIm}] As above for imaginary part.
\item[\texttt{bpp}] The target black pixel probability. \item[\texttt{bpp}] The target black pixel probability.
\item[\texttt{eGoal}] The absolute error goal on the power thresholds. \item[\texttt{eGoal}] The absolute error goal on the power thresholds.
\end{description} \end{description}
******************************************************* </lalLaTeX> */ ******************************************************* </lalLaTeX> */
typedef struct tagRiceThresholdParams { typedef struct tagRiceThresholdParams {
UINT4 nFreq; UINT4 nFreq;
REAL4* meanRe; REAL8* P0;
REAL4* meanIm; REAL8* Q;
REAL4* varRe;
REAL4* varIm;
REAL4 bpp; REAL4 bpp;
REAL4 eGoal; REAL4 eGoal;
} RiceThresholdParams; } RiceThresholdParams;
void void
LALTFCRiceThreshold ( LALStatus *status, LALTFCRiceThreshold ( LALStatus *status,
REAL4* rho, REAL4* rho,
 End of changes. 5 change blocks. 
9 lines changed or deleted 5 lines changed or added


 Units.h   Units.h 
/********************************* <lalVerbatim file="UnitsHV"> /********************************* <lalVerbatim file="UnitsHV">
Author: J. T. Whelan <whelan@oates.utb.edu> Author: J. T. Whelan <whelan@oates.utb.edu>
$Id: Units.h,v 1.8 2001/12/09 04:24:18 whelan Exp $ $Id: Units.h,v 1.9 2002/01/29 00:33:24 whelan Exp $
********************************** </lalVerbatim> */ ********************************** </lalVerbatim> */
/* <lalLaTeX> /* <lalLaTeX>
\section{Header \texttt{Units.h}} \section{Header \texttt{Units.h}}
\label{tools:s:Units.h} \label{tools:s:Units.h}
Provides prototypes for manipulation of units and declares Provides prototypes for manipulation of units and declares
\texttt{extern} constants for the basic and derived SI units. \texttt{extern} constants for the basic and derived SI units.
skipping to change at line 47 skipping to change at line 47
\input{UnitsHErrTable} \input{UnitsHErrTable}
\subsection*{Structures} \subsection*{Structures}
\subsubsection*{LALUnitPair} \subsubsection*{LALUnitPair}
\idx[Type]{LALUnitPair} \idx[Type]{LALUnitPair}
Consists of a pair of unit structures; used as an input structure for Consists of a pair of unit structures; used as an input structure for
the \texttt{LALUnitCompare()} and \texttt{LALUnitMultiply()} functions. the \texttt{LALUnitCompare()} and \texttt{LALUnitMultiply()} functions.
The fields are: The fields are:
\begin{description} \begin{description}
\item[\texttt{LALUnit unitOne}] The first unit. \item[\texttt{LALUnit *unitOne}] The first unit.
\item[\texttt{LALUnit unitTwo}] The second unit. \item[\texttt{LALUnit *unitTwo}] The second unit.
\end{description} \end{description}
\subsubsection*{RAT4} \subsubsection*{RAT4}
\idx[Type]{RAT4} \idx[Type]{RAT4}
A four-byte rational number, used as a parameter structure for A four-byte rational number, used as a parameter structure for
\texttt{LALUnitRaise()}. The fields are: \texttt{LALUnitRaise()}. The fields are:
\begin{description} \begin{description}
\item[\texttt{INT2 numerator}] The numerator. \item[\texttt{INT2 numerator}] The numerator.
\item[\texttt{UINT2 denominatorMinusOne}] One less than the denominator. \item[\texttt{UINT2 denominatorMinusOne}] One less than the denominator.
\end{description} \end{description}
skipping to change at line 80 skipping to change at line 80
#ifndef _UNITS_H #ifndef _UNITS_H
#define _UNITS_H #define _UNITS_H
#include <lal/LALStdlib.h> #include <lal/LALStdlib.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
NRCSID (UNITSH, "$Id: Units.h,v 1.8 2001/12/09 04:24:18 whelan Exp $"); NRCSID (UNITSH, "$Id: Units.h,v 1.9 2002/01/29 00:33:24 whelan Exp $");
/******************************** <lalErrTable file="UnitsHErrTable"> */ /******************************** <lalErrTable file="UnitsHErrTable"> */
#define UNITSH_ENULLPIN 1 #define UNITSH_ENULLPIN 1
#define UNITSH_ENULLPOUT 2 #define UNITSH_ENULLPOUT 2
#define UNITSH_ENULLPD 3 #define UNITSH_ENULLPD 3
#define UNITSH_ENULLPPARAM 4 #define UNITSH_ENULLPPARAM 4
#define UNITSH_ESTRINGSIZE 5 #define UNITSH_ESTRINGSIZE 5
#define UNITSH_EOVERFLOW 6 #define UNITSH_EOVERFLOW 6
#define UNITSH_ENONINT 7 #define UNITSH_ENONINT 7
skipping to change at line 124 skipping to change at line 124
void LALUnitNormalize (LALStatus *status, LALUnit *output, void LALUnitNormalize (LALStatus *status, LALUnit *output,
const LALUnit *input); const LALUnit *input);
/* Several functions take two Unit variables as input, so need the /* Several functions take two Unit variables as input, so need the
* following structure. * following structure.
*/ */
typedef struct typedef struct
tagLALUnitPair tagLALUnitPair
{ {
LALUnit unitOne; const LALUnit *unitOne;
LALUnit unitTwo; const LALUnit *unitTwo;
} }
LALUnitPair; LALUnitPair;
/* LALUnitMultiply will multiply together two Unit variables and /* LALUnitMultiply will multiply together two Unit variables and
* output their product; it will call LALUnitNormalize. * output their product; it will call LALUnitNormalize.
*/ */
void LALUnitMultiply (LALStatus *status, LALUnit *output, void LALUnitMultiply (LALStatus *status, LALUnit *output,
const LALUnitPair *input); const LALUnitPair *input);
 End of changes. 4 change blocks. 
6 lines changed or deleted 6 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/