Commit c992b224 authored by Karl Wette's avatar Karl Wette

LALPulsar: move demodulation/resampling code to ComputeFstat_Demod/Resamp.c

- duplicate some demodulation code in ComputeFStatistic_resamp.c,
  LocalComputeFstat.c, and BinarySSBTimesTest.c, where needed
- refs #1000
Original: 382851417c6ca66f9d62359bf664040278114121
parent ce94ebec
......@@ -62,6 +62,62 @@
/** square */
#define SQ(x) ( (x) * (x) )
#define COMPUTEFSTATC_ENULL 1
#define COMPUTEFSTATC_ENONULL 2
#define COMPUTEFSTATC_EINPUT 3
#define COMPUTEFSTATC_EMEM 4
#define COMPUTEFSTATC_EXLAL 5
#define COMPUTEFSTATC_EIEEE 6
#define COMPUTEFSTATC_MSGENULL "Arguments contained an unexpected null pointer"
#define COMPUTEFSTATC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATC_MSGEINPUT "Invalid input"
#define COMPUTEFSTATC_MSGEMEM "Out of memory. Bad."
#define COMPUTEFSTATC_MSGEXLAL "XLAL function call failed"
#define COMPUTEFSTATC_MSGEIEEE "Floating point failure"
/* Type containing F-statistic proper plus the two complex amplitudes Fa and Fb (for ML-estimators) */
typedef struct tagFcomponents {
REAL8 F; /* F-statistic value */
REAL8 FX[PULSAR_MAX_DETECTORS]; /* vector of single-detector F-statistic values (array of fixed size) */
UINT4 numDetectors; /* number of detectors = effective vector length. numDetectors=0 should make all code ignore the FX field. */
LIGOTimeGPS refTime; /* 'internal' refTime used to compute the F-statistic: only relevant for phase of complex amplitudes {Fa,Fb} */
COMPLEX16 Fa; /* complex amplitude Fa */
COMPLEX16 Fb; /* complex amplitude Fb */
MultiFstatAtomVector *multiFstatAtoms;/* per-IFO, per-SFT arrays of F-stat 'atoms', ie quantities required to compute F-stat */
} Fcomponents;
/* [opaque] type holding a ComputeFBuffer for use in the resampling F-stat codes */
typedef struct tagComputeFBuffer_RS ComputeFBuffer_RS;
/* Extra parameters controlling the actual computation of F */
typedef struct tagComputeFParams {
UINT4 Dterms; /* how many terms to keep in the Dirichlet kernel (~16 is usually fine) */
REAL8 upsampling; /* frequency-upsampling applied to SFTs ==> dFreq != 1/Tsft ... */
SSBprecision SSBprec; /* whether to use full relativist SSB-timing, or just simple Newtonian */
BOOLEAN useRAA; /* whether to use the frequency- and sky-position-dependent rigid adiabatic response tensor and not just the long-wavelength approximation */
BOOLEAN bufferedRAA; /* approximate RAA by assuming constant response over (small) frequency band */
ComputeFBuffer_RS *buffer; /* buffer for storing pre-resampled timeseries (used for resampling implementation) */
const EphemerisData *edat; /* ephemeris data for re-computing multidetector states */
BOOLEAN returnAtoms; /* whether or not to return the 'FstatAtoms' used to compute the F-statistic */
BOOLEAN returnSingleF; /* in multi-detector case, whether or not to also return the single-detector Fstats computed from the atoms */
} ComputeFParams;
/* Struct holding buffered ComputeFStat()-internal quantities to avoid unnecessarily
* recomputing things that depend ONLY on the skyposition and detector-state series (but not on the spins).
* For the first call of ComputeFStat() the pointer-entries should all be NULL.
*/
typedef struct tagComputeFBuffer {
const MultiDetectorStateSeries *multiDetStates;/* buffer for each detStates (store pointer) and skypos */
REAL8 Alpha, Delta; /* skyposition of candidate */
MultiSSBtimes *multiSSB;
MultiSSBtimes *multiBinary;
MultiAMCoeffs *multiAMcoef;
MultiCmplxAMCoeffs *multiCmplxAMcoef;
} ComputeFBuffer;
static const Fcomponents empty_Fcomponents;
static const ComputeFParams empty_ComputeFParams;
static const ComputeFBuffer empty_ComputeFBuffer;
/*----- SIN/COS Lookup table code inserted here -----*/
/* In particular this defines
......@@ -106,6 +162,25 @@ LocalComputeFStatFreqBand ( LALStatus *status,
/*==================== FUNCTION DEFINITIONS ====================*/
/* Destruction of a ComputeFBuffer *contents*,
* i.e. the multiSSB and multiAMcoeff, while the
* buffer-container is not freed (which is why it's passed
* by value and not by reference...) */
static void
XLALEmptyComputeFBuffer ( ComputeFBuffer *cfb)
{
XLALDestroyMultiSSBtimes ( cfb->multiSSB );
cfb->multiSSB = NULL;
XLALDestroyMultiSSBtimes ( cfb->multiBinary );
cfb->multiBinary = NULL;
XLALDestroyMultiAMCoeffs ( cfb->multiAMcoef );
cfb->multiAMcoef = NULL;
XLALDestroyMultiCmplxAMCoeffs ( cfb->multiCmplxAMcoef );
cfb->multiCmplxAMcoef = NULL;
return;
} /* XLALDestroyComputeFBuffer() */
/**
* Function to compute a vector of Fstatistic values for a number of frequency bins.
* This function is simply a wrapper for LocalComputeFstat() which is called repeatedly for
......@@ -330,7 +405,7 @@ LocalComputeFStat ( LALStatus *status, /**< pointer to LALStatus structure */
if ( params->upsampling > 1)
{
if ( XLALComputeFaFbXavie (&FcX, multiSFTs->data[X], doppler->fkdot, multiSSB->data[X], multiAMcoef->data[X], params) != 0)
if ( 1/*XLALComputeFaFbXavie (&FcX, multiSFTs->data[X], doppler->fkdot, multiSSB->data[X], multiAMcoef->data[X], params)*/ != 0)
{
XLALPrintError ("\nXALComputeFaFbXavie() failed\n");
ABORT ( status, COMPUTEFSTATC_EXLAL, COMPUTEFSTATC_MSGEXLAL );
......
......@@ -104,6 +104,20 @@ int finite(double);
#define COMPUTEFSTATISTIC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATISTIC_MSGEXLAL "XLALFunction-call failed"
#define COMPUTEFSTATC_ENULL 1
#define COMPUTEFSTATC_ENONULL 2
#define COMPUTEFSTATC_EINPUT 3
#define COMPUTEFSTATC_EMEM 4
#define COMPUTEFSTATC_EXLAL 5
#define COMPUTEFSTATC_EIEEE 6
#define COMPUTEFSTATC_MSGENULL "Arguments contained an unexpected null pointer"
#define COMPUTEFSTATC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATC_MSGEINPUT "Invalid input"
#define COMPUTEFSTATC_MSGEMEM "Out of memory. Bad."
#define COMPUTEFSTATC_MSGEXLAL "XLAL function call failed"
#define COMPUTEFSTATC_MSGEIEEE "Floating point failure"
/*----- Macros -----*/
/* convert GPS-time to REAL8 */
......@@ -118,6 +132,29 @@ UINT4 FactorialLookup[8] = {1,1,2,6,24,120,720,5040};
/*---------- internal types ----------*/
/* Type containing F-statistic proper plus the two complex amplitudes Fa and Fb (for ML-estimators) */
typedef struct tagFcomponents {
REAL8 F; /* F-statistic value */
REAL8 FX[PULSAR_MAX_DETECTORS]; /* vector of single-detector F-statistic values (array of fixed size) */
UINT4 numDetectors; /* number of detectors = effective vector length. numDetectors=0 should make all code ignore the FX field. */
LIGOTimeGPS refTime; /* 'internal' refTime used to compute the F-statistic: only relevant for phase of complex amplitudes {Fa,Fb} */
COMPLEX16 Fa; /* complex amplitude Fa */
COMPLEX16 Fb; /* complex amplitude Fb */
MultiFstatAtomVector *multiFstatAtoms;/* per-IFO, per-SFT arrays of F-stat 'atoms', ie quantities required to compute F-stat */
} Fcomponents;
/* Extra parameters controlling the actual computation of F */
typedef struct tagComputeFParams {
UINT4 Dterms; /* how many terms to keep in the Dirichlet kernel (~16 is usually fine) */
REAL8 upsampling; /* frequency-upsampling applied to SFTs ==> dFreq != 1/Tsft ... */
SSBprecision SSBprec; /* whether to use full relativist SSB-timing, or just simple Newtonian */
BOOLEAN useRAA; /* whether to use the frequency- and sky-position-dependent rigid adiabatic response tensor and not just the long-wavelength approximation */
BOOLEAN bufferedRAA; /* approximate RAA by assuming constant response over (small) frequency band */
const EphemerisData *edat; /* ephemeris data for re-computing multidetector states */
BOOLEAN returnAtoms; /* whether or not to return the 'FstatAtoms' used to compute the F-statistic */
BOOLEAN returnSingleF; /* in multi-detector case, whether or not to also return the single-detector Fstats computed from the atoms */
} ComputeFParams;
/** What info do we want to store in our toplist? */
typedef struct {
PulsarDopplerParams doppler; /**< Doppler params of this 'candidate' */
......@@ -125,7 +162,6 @@ typedef struct {
CmplxAntennaPatternMatrix Mmunu; /**< antenna-pattern matrix Mmunu = 0.5* Sinv*Tsft * [ Ad, Cd; Cd; Bd ] */
} FstatCandidate;
/**
* moving 'Scanline window' of candidates on the scan-line,
* which is used to find local 1D maxima.
......
......@@ -32,7 +32,12 @@
#include <gsl/gsl_linalg.h>
#include <lal/ComputeFstat.h>
#include <lal/ComplexFFT.h>
#include <lal/TimeSeries.h>
#include <lal/LALComputeAM.h>
#include <lal/ExtrapolatePulsarSpins.h>
#include <lal/LFTandTSutils.h>
#include <lal/CWFastMath.h>
#define MYSIGN(x) ( ((x) < 0) ? (-1.0):(+1.0) )
#define SQ(x) ( (x) * (x) )
......@@ -43,6 +48,9 @@
#define UNUSED
#endif
#define NUM_FACT 7
static const REAL8 inv_fact[NUM_FACT] = { 1.0, 1.0, (1.0/2.0), (1.0/6.0), (1.0/24.0), (1.0/120.0), (1.0/720.0) };
static const LALStatus empty_status;
///// Internal function prototypes /////
......
......@@ -22,9 +22,9 @@
#include <lal/LALStdlib.h>
#include <lal/PulsarDataTypes.h>
#include <lal/LALComputeAM.h>
#include <lal/ComplexAM.h>
#include <lal/SSBtimes.h>
#include <lal/ComputeFstat_OldDemodAPI.h>
#include <lal/ComputeFstat_OldResampAPI.h>
#ifdef __cplusplus
extern "C" {
......@@ -33,7 +33,8 @@ extern "C" {
///
/// \defgroup ComputeFstat_h Header ComputeFstat.h
/// \ingroup pkg_pulsarCoh
/// \authors David Keitel, Bernd Machenschalk, Reinhard Prix, Karl Wette
/// \authors Badri Krishnan, Bernd Machenschalk, Chris Messenger, David Keitel, Holger Pletsch,
/// John T. Whelan, Karl Wette, Pinkesh Patel, Reinhard Prix, Xavier Siemens
///
/// \brief Unified API for computing the \f$\mathcal{F}\f$-statistic.
///
......
This diff is collapsed.
This diff is collapsed.
/*
* Copyright (C) 2005 Reinhard Prix
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#ifndef _COMPUTEFSTAT_OLDDEMODAPI_H /* Double-include protection. */
#define _COMPUTEFSTAT_OLDDEMODAPI_H
/* C++ protection. */
#ifdef __cplusplus
extern "C" {
#endif
/**
* \defgroup ComputeFstat_OldDemodAPI_h Header ComputeFstat_OldDemodAPI.h
* \ingroup pkg_pulsarCoh
* \author Reinhard Prix
* \date 2005
* \brief Header-file defining the API for the F-statistic functions.
*
* This code is (partly) a descendant of an earlier implementation found in
* LALDemod.[ch] by Jolien Creighton, Maria Alessandra Papa, Reinhard Prix, Steve Berukoff, Xavier Siemens, Bruce Allen
* ComputSky.[ch] by Jolien Creighton, Reinhard Prix, Steve Berukoff
* LALComputeAM.[ch] by Jolien Creighton, Maria Alessandra Papa, Reinhard Prix, Steve Berukoff, Xavier Siemens
*
*/
/*@{*/
/*---------- exported INCLUDES ----------*/
#include <lal/LALComputeAM.h>
#include <lal/ComplexAM.h>
#include <lal/SSBtimes.h>
#include <lal/PulsarDataTypes.h>
#include <lal/DetectorStates.h>
#include <gsl/gsl_vector.h>
/*---------- exported DEFINES ----------*/
/** \name Error codes */
/*@{*/
#define COMPUTEFSTATC_ENULL 1
#define COMPUTEFSTATC_ENONULL 2
#define COMPUTEFSTATC_EINPUT 3
#define COMPUTEFSTATC_EMEM 4
#define COMPUTEFSTATC_EXLAL 5
#define COMPUTEFSTATC_EIEEE 6
#define COMPUTEFSTATC_MSGENULL "Arguments contained an unexpected null pointer"
#define COMPUTEFSTATC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATC_MSGEINPUT "Invalid input"
#define COMPUTEFSTATC_MSGEMEM "Out of memory. Bad."
#define COMPUTEFSTATC_MSGEXLAL "XLAL function call failed"
#define COMPUTEFSTATC_MSGEIEEE "Floating point failure"
/*@}*/
/*---------- exported types ----------*/
#ifndef SWIG
struct tagMultiFstatAtomVector;
#endif
/** Type containing F-statistic proper plus the two complex amplitudes Fa and Fb (for ML-estimators) */
typedef struct tagFcomponents {
REAL8 F; /**< F-statistic value */
REAL8 FX[PULSAR_MAX_DETECTORS]; /**< vector of single-detector F-statistic values (array of fixed size) */
UINT4 numDetectors; /**< number of detectors = effective vector length. numDetectors=0 should make all code ignore the FX field. */
LIGOTimeGPS refTime; /**< 'internal' refTime used to compute the F-statistic: only relevant for phase of complex amplitudes {Fa,Fb} */
COMPLEX16 Fa; /**< complex amplitude Fa */
COMPLEX16 Fb; /**< complex amplitude Fb */
struct tagMultiFstatAtomVector *multiFstatAtoms;/**< per-IFO, per-SFT arrays of F-stat 'atoms', ie quantities required to compute F-stat */
} Fcomponents;
/** [opaque] type holding a ComputeFBuffer for use in the resampling F-stat codes */
typedef struct tagComputeFBuffer_RS ComputeFBuffer_RS;
/** Extra parameters controlling the actual computation of F */
typedef struct tagComputeFParams {
UINT4 Dterms; /**< how many terms to keep in the Dirichlet kernel (~16 is usually fine) */
REAL8 upsampling; /**< frequency-upsampling applied to SFTs ==> dFreq != 1/Tsft ... */
SSBprecision SSBprec; /**< whether to use full relativist SSB-timing, or just simple Newtonian */
BOOLEAN useRAA; /**< whether to use the frequency- and sky-position-dependent rigid adiabatic response tensor and not just the long-wavelength approximation */
BOOLEAN bufferedRAA; /**< approximate RAA by assuming constant response over (small) frequency band */
ComputeFBuffer_RS *buffer; /**< buffer for storing pre-resampled timeseries (used for resampling implementation) */
const EphemerisData *edat; /**< ephemeris data for re-computing multidetector states */
BOOLEAN returnAtoms; /**< whether or not to return the 'FstatAtoms' used to compute the F-statistic */
BOOLEAN returnSingleF; /**< in multi-detector case, whether or not to also return the single-detector Fstats computed from the atoms */
} ComputeFParams;
/**
* Struct holding buffered ComputeFStat()-internal quantities to avoid unnecessarily
* recomputing things that depend ONLY on the skyposition and detector-state series (but not on the spins).
* For the first call of ComputeFStat() the pointer-entries should all be NULL.
*/
typedef struct tagComputeFBuffer {
const MultiDetectorStateSeries *multiDetStates;/**< buffer for each detStates (store pointer) and skypos */
REAL8 Alpha, Delta; /**< skyposition of candidate */
MultiSSBtimes *multiSSB;
MultiSSBtimes *multiBinary;
MultiAMCoeffs *multiAMcoef;
MultiCmplxAMCoeffs *multiCmplxAMcoef;
} ComputeFBuffer;
/** Struct containing vectors of multi- and single-IFO F-stats over a frequency range and full search parameter info in dopplerParams */
typedef struct tagMultiFstatFrequencySeries {
PulsarDopplerParams doppler; /**< full info about {sky position, fkdot, refTime, .. and *frequency band*} for which these F values are computed */
REAL4Vector *F; /**< 1D array of multi-IFO F-stat values over {frequencies} */
REAL4VectorSequence *FX; /**< 2D array of single-IFO F-stat values over {detectors, frequencies}, ordered as (det1bin1,det1bin2,..,det1binN,det2bin1,...detMbinN) */
} MultiFstatFrequencySeries;
/* macro to index arrays in the MultiFstatFrequencySeries->FX structure */
#define FX_INDEX(FX, iDet, iFreq) \
( ( (iDet) * (FX)->vectorLength ) + (iFreq) )
/*---------- exported Global variables ----------*/
/* empty init-structs for the types defined in here */
extern const Fcomponents empty_Fcomponents;
extern const ComputeFParams empty_ComputeFParams;
extern const ComputeFBuffer empty_ComputeFBuffer;
/*---------- exported prototypes [API] ----------*/
int
XLALComputeFaFb ( Fcomponents *FaFb,
const SFTVector *sfts,
const PulsarSpins fkdot,
const SSBtimes *tSSB,
const AMCoeffs *amcoe,
const ComputeFParams *params);
int
XLALComputeFaFbXavie ( Fcomponents *FaFb,
const SFTVector *sfts,
const PulsarSpins fkdot,
const SSBtimes *tSSB,
const AMCoeffs *amcoe,
const ComputeFParams *params);
int
XLALComputeFaFbCmplx ( Fcomponents *FaFb,
const SFTVector *sfts,
const PulsarSpins fkdot,
const SSBtimes *tSSB,
const CmplxAMCoeffs *amcoe,
const ComputeFParams *params);
void ComputeFStat ( LALStatus *, Fcomponents *Fstat,
const PulsarDopplerParams *doppler,
const MultiSFTVector *multiSFTs,
const MultiNoiseWeights *multiWeights,
const MultiDetectorStateSeries *multiDetStates,
const ComputeFParams *params,
ComputeFBuffer *cfBuffer );
void ComputeFStatFreqBand ( LALStatus *status,
REAL4FrequencySeries *FstatVector,
const PulsarDopplerParams *doppler,
const MultiSFTVector *multiSFTs,
const MultiNoiseWeights *multiWeights,
const MultiDetectorStateSeries *multiDetStates,
const ComputeFParams *params);
/* destructors */
void XLALEmptyComputeFBuffer ( ComputeFBuffer *cfb );
/*@}*/
#ifdef __cplusplus
}
#endif
/* C++ protection. */
#endif /* Double-include protection. */
This diff is collapsed.
/*
* Copyright (C) 2009 Chris Messenger, Pinkesh Patel
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with with program; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/**
* \author Chris Messenger
* \date 2005
* \ingroup pulsarCoherent
* \file
* \brief Header-file defining the API for the F-statistic functions.
*
* This code is (partly) a descendant of an earlier implementation found in
* LALDemod.[ch] by Jolien Creighton, Maria Alessandra Papa, Reinhard Prix, Steve Berukoff, Xavier Siemens, Bruce Allen
* ComputSky.[ch] by Jolien Creighton, Reinhard Prix, Steve Berukoff
* LALComputeAM.[ch] by Jolien Creighton, Maria Alessandra Papa, Reinhard Prix, Steve Berukoff, Xavier Siemens
*
*/
#ifndef _COMPUTEFSTAT_OLDRESAMPAPI_H /* Double-include protection. */
#define _COMPUTEFSTAT_OLDRESAMPAPI_H
/* C++ protection. */
#ifdef __cplusplus
extern "C" {
#endif
/*---------- exported INCLUDES ----------*/
#include <lal/LALComputeAM.h>
#include <lal/LFTandTSutils.h>
#include <lal/ComputeFstat.h>
#include <lal/PulsarDataTypes.h>
#include <lal/DetectorStates.h>
#include <gsl/gsl_errno.h>
#include <gsl/gsl_spline.h>
/*---------- exported DEFINES ----------*/
/*----- Error-codes -----*/
#define COMPUTEFSTATRSC_ENULL 1
#define COMPUTEFSTATRSC_ENONULL 2
#define COMPUTEFSTATRSC_EINPUT 3
#define COMPUTEFSTATRSC_EMEM 4
#define COMPUTEFSTATRSC_EXLAL 5
#define COMPUTEFSTATRSC_EIEEE 6
#define COMPUTEFSTATRSC_MSGENULL "Arguments contained an unexpected null pointer"
#define COMPUTEFSTATRSC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATRSC_MSGEINPUT "Invalid input"
#define COMPUTEFSTATRSC_MSGEMEM "Out of memory. Bad."
#define COMPUTEFSTATRSC_MSGEXLAL "XLAL function call failed"
#define COMPUTEFSTATRSC_MSGEIEEE "Floating point failure"
/*---------- exported types ----------*/
/**
* Struct holding buffered ComputeFStat()-internal quantities to avoid unnecessarily
* recomputing things that depend ONLY on the skyposition and detector-state series (but not on the spins).
* For the first call of ComputeFStatFreqBand_RS() the pointer-entries should all be NULL.
*/
struct tagComputeFBuffer_RS {
MultiDetectorStateSeries *multiDetStates; /**< buffer for each detStates (store pointer) and skypos */
REAL8 Alpha, Delta; /**< skyposition of candidate */
LIGOTimeGPS segstart; /**< the start time of the first SFT of the first detector (used to check if the segment has changed) */
MultiSSBtimes *multiSSB;
MultiSSBtimes *multiBinary;
MultiAMCoeffs *multiAMcoef;
MultiCmplxAMCoeffs *multiCmplxAMcoef;
MultiCOMPLEX8TimeSeries *multiTimeseries; /**< the buffered unweighted multi-detector timeseries */
MultiCOMPLEX8TimeSeries *multiFa_resampled; /**< the buffered multi-detector resampled timeseries weighted by a(t) */
MultiCOMPLEX8TimeSeries *multiFb_resampled; /**< the buffered multi-detector resampled timeseries weighted by b(t) */
};
/**
* Struct holding a vector of buffered ComputeFStat()-internal quantities to avoid unnecessarily
* recomputing things that depend ONLY on the skyposition and detector-state series (but not on the spins).
*/
typedef struct tagComputeFBufferVector_RS {
ComputeFBuffer_RS **data; /**< pointer to a series of ComputeFBuffer_RS structures */
UINT4 length; /**< the length of the vector */
} ComputeFBufferVector_RS;
/*---------- exported prototypes [API] ----------*/
void ComputeFStatFreqBand_RS ( LALStatus *status,
REAL4FrequencySeries *fstatVector,
const PulsarDopplerParams *doppler,
MultiSFTVector *multiSFTs, /* modified */
const MultiNoiseWeights *multiWeights,
ComputeFParams *params
);
void ResampleMultiSFTs ( LALStatus *status,
MultiCOMPLEX8TimeSeries **multitimeseries,
REAL8 deltaF,
const MultiAMCoeffs *multiAMcoef,
const MultiSSBtimes *multiSSB,
const MultiSFTVector *multiSFTs
);
void XLALEmptyComputeFBuffer_RS ( ComputeFBuffer_RS *cfb);
#ifdef __cplusplus
}
#endif
/* C++ protection. */
#endif /* Double-include protection. */
This diff is collapsed.
......@@ -10,8 +10,6 @@ lalpulsarinclude_HEADERS = \
BinaryPulsarTiming.h \
ComplexAM.h \
ComputeFstat.h \
ComputeFstat_OldDemodAPI.h \
ComputeFstat_OldResampAPI.h \
ComputeSky.h \
ComputeSkyBinary.h \
DetectorStates.h \
......@@ -75,8 +73,6 @@ liblalpulsar_la_SOURCES = \
CoherentMetric.c \
ComplexAM.c \
ComputeFstat.c \
ComputeFstat_OldDemodAPI.c \
ComputeFstat_OldResampAPI.c \
ComputeSky.c \
ComputeSkyBinary.c \
ConstructPLUT.c \
......
......@@ -282,6 +282,20 @@ XLALCompareSSBtimes ( REAL8 *err_DeltaT, REAL8 *err_Tdot, const SSBtimes *t1, co
// ---------- obsolete LAL functions LALGet[Multi]Binarytimes() kept here for comparison purposes
#define COMPUTEFSTATC_ENULL 1
#define COMPUTEFSTATC_ENONULL 2
#define COMPUTEFSTATC_EINPUT 3
#define COMPUTEFSTATC_EMEM 4
#define COMPUTEFSTATC_EXLAL 5
#define COMPUTEFSTATC_EIEEE 6
#define COMPUTEFSTATC_MSGENULL "Arguments contained an unexpected null pointer"
#define COMPUTEFSTATC_MSGENONULL "Output pointer is non-NULL"
#define COMPUTEFSTATC_MSGEINPUT "Invalid input"
#define COMPUTEFSTATC_MSGEMEM "Out of memory. Bad."
#define COMPUTEFSTATC_MSGEXLAL "XLAL function call failed"
#define COMPUTEFSTATC_MSGEIEEE "Floating point failure"
/**
* For a given OrbitalParams, calculate the time-differences
* \f$\Delta T_\alpha\equiv T(t_\alpha) - T_0\f$, and their
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment