LALPulsar  6.1.0.1-89842e6
PulsarCrossCorr_v2.c File Reference

Prototypes

static int XLALApplyCrossCorrFreqShiftResamp (COMPLEX8 *restrict xOut, const COMPLEX8TimeSeries *restrict xIn, const PulsarDopplerParams *restrict doppler, const REAL8 freqShift, const UINT4 indexStartResamp, const UINT4 indexEndResamp, const UINT4 numSamplesIn, const UINT4 insertPoint)
 Imported and modified from ComputeFstat_Resamp.c. More...
 
static int XLALComputeFaFb_CrossCorrResamp (ResampCrossCorrWorkspace *restrict ws, COMPLEX8 *restrict wsFaX_k, COMPLEX8 *restrict wsFbX_k, const MultiResampSFTPairMultiIndexList *restrict resampMultiPairs, const MultiCOMPLEX8TimeSeries *restrict multiTimeSeries_SRC_a, const MultiCOMPLEX8TimeSeries *restrict multiTimeSeries_SRC_b, const PulsarDopplerParams *restrict dopplerpos, const PulsarDopplerParams *restrict binaryTemplateSpacings, const REAL8 SRCsampPerTcoh, const UINT4 detX, const UINT4 sftK, const UINT4 detY, const BOOLEAN isL)
 Compute the equivalent of Fa and Fb for CrossCorr's rho statistic. More...
 
int XLALGetDopplerShiftedFrequencyInfo (REAL8Vector *shiftedFreqs, UINT4Vector *lowestBins, COMPLEX8Vector *expSignalPhases, REAL8VectorSequence *sincList, UINT4 numBins, PulsarDopplerParams *dopp, SFTIndexList *sftIndices, MultiSFTVector *inputSFTs, MultiSSBtimes *multiTimes, MultiUINT4Vector *badBins, REAL8 Tsft)
 Calculate the Doppler-shifted frequency associated with each SFT in a list. More...
 
int XLALCreateSFTIndexListFromMultiSFTVect (SFTIndexList **indexList, MultiSFTVector *sfts)
 Construct flat SFTIndexList out of a MultiSFTVector. More...
 
int XLALCreateSFTPairIndexList (SFTPairIndexList **pairIndexList, SFTIndexList *indexList, MultiSFTVector *sfts, REAL8 maxLag, BOOLEAN inclAutoCorr)
 Construct list of SFT pairs for inclusion in statistic. More...
 
int XLALCreateSFTPairIndexListResamp (MultiResampSFTPairMultiIndexList **resampMultiPairIndexList, SFTPairIndexList **pairIndexList, SFTIndexList *indexList, MultiSFTVector *sfts, REAL8 maxLag, BOOLEAN inclAutoCorr, BOOLEAN inclSameDetector, REAL8 Tsft, REAL8 Tshort)
 Resampling-modified: construct list of SFT pairs for inclusion in statistic. More...
 
int XLALCreateSFTPairIndexListShortResamp (MultiResampSFTPairMultiIndexList **resampMultiPairIndexList, const REAL8 maxLag, const BOOLEAN inclAutoCorr, const BOOLEAN inclSameDetector, const REAL8 Tsft, const MultiLIGOTimeGPSVector *restrict multiTimes)
 With Tshort, and Resampling-modified: construct list of SFT pairs for inclusion in statistic. More...
 
int XLALTestResampPairIndexList (MultiResampSFTPairMultiIndexList *resampMultiPairIndexList)
 Check that the contents of a resampling multi-pair index list are sensible by inspection. More...
 
int XLALCalculateCrossCorrGammas (REAL8Vector **Gamma_ave, REAL8Vector **Gamma_circ, SFTPairIndexList *pairIndexList, SFTIndexList *indexList, MultiAMCoeffs *multiCoeffs)
 Construct vector of G_alpha amplitudes for each SFT pair. More...
 
int XLALCalculateCrossCorrGammasResamp (REAL8Vector **Gamma_ave, REAL8Vector **Gamma_circ, MultiResampSFTPairMultiIndexList *resampMultiPairIndexList, MultiAMCoeffs *multiCoeffs)
 test function for RESAMPLING More...
 
int XLALCalculateCrossCorrGammasResampShort (REAL8Vector **Gamma_ave, REAL8Vector **Gamma_circ, MultiResampSFTPairMultiIndexList *resampMultiPairIndexList, MultiAMCoeffs *multiCoeffs)
 test function for RESAMPLING with tShort More...
 
int XLALCalculatePulsarCrossCorrStatistic (REAL8 *ccStat, REAL8 *evSquared, REAL8Vector *curlyGAmp, COMPLEX8Vector *expSignalPhases, UINT4Vector *lowestBins, REAL8VectorSequence *sincList, SFTPairIndexList *sftPairs, SFTIndexList *sftIndices, MultiSFTVector *inputSFTs, MultiNoiseWeights *multiWeights, UINT4 numBins)
 Calculate multi-bin cross-correlation statistic. More...
 
int XLALCalculatePulsarCrossCorrStatisticResamp (REAL8Vector *restrict ccStatVector, REAL8Vector *restrict evSquaredVector, REAL8Vector *restrict numeEquivAve, REAL8Vector *restrict numeEquivCirc, const REAL8Vector *restrict resampCurlyGAmp, const MultiResampSFTPairMultiIndexList *restrict resampMultiPairs, const MultiNoiseWeights *restrict multiWeights, const PulsarDopplerParams *restrict binaryTemplateSpacings, const PulsarDopplerParams *restrict dopplerpos, const MultiCOMPLEX8TimeSeries *restrict multiTimeSeries_SRC_a, const MultiCOMPLEX8TimeSeries *restrict multiTimeSeries_SRC_b, ResampCrossCorrWorkspace *restrict ws, COMPLEX8 *restrict ws1KFaX_k, COMPLEX8 *restrict ws1KFbX_k, COMPLEX8 *restrict ws2LFaX_k, COMPLEX8 *restrict ws2LFbX_k)
 Calculate multi-bin cross-correlation statistic using resampling. More...
 
int XLALCalculateCrossCorrPhaseDerivatives (REAL8VectorSequence **phaseDerivs, const PulsarDopplerParams *dopplerPoint, const EphemerisData *edat, SFTIndexList *indexList, MultiSSBtimes *multiTimes, const DopplerCoordinateSystem *coordSys)
 calculate signal phase derivatives wrt Doppler coords, for each SFT More...
 
int XLALCalculateCrossCorrPhaseDerivativesShort (REAL8VectorSequence **resampPhaseDerivs, const PulsarDopplerParams *dopplerPoint, const EphemerisData *edat, SFTIndexList *indexList, MultiResampSFTPairMultiIndexList *resampMultiPairs, MultiSSBtimes *multiTimes, const DopplerCoordinateSystem *coordSys)
 (test function) MODIFIED for Tshort More...
 
int XLALCalculateCrossCorrPhaseMetric (gsl_matrix **g_ij, gsl_vector **eps_i, REAL8 *sumGammaSq, const REAL8VectorSequence *phaseDerivs, const SFTPairIndexList *pairIndexList, const REAL8Vector *Gamma_ave, const REAL8Vector *Gamma_circ, const DopplerCoordinateSystem *coordSys)
 calculate phase metric for CW cross-correlation search, as well as vector used for parameter offsets More...
 
int XLALCalculateCrossCorrPhaseMetricShort (gsl_matrix **g_ij, gsl_vector **eps_i, REAL8 *sumGammaSq, const REAL8VectorSequence *phaseDerivs, const MultiResampSFTPairMultiIndexList *resampMultiPairs, const REAL8Vector *Gamma_ave, const REAL8Vector *Gamma_circ, const DopplerCoordinateSystem *coordSys)
 (test function) Redesigning to use Tshort instead More...
 
int XLALCalculateLMXBCrossCorrDiagMetric (REAL8 *hSens, REAL8 *g_ff, REAL8 *g_aa, REAL8 *g_TT, REAL8 *g_pp, REAL8 *weightedMuTAve, PulsarDopplerParams DopplerParams, REAL8Vector *G_alpha, SFTPairIndexList *pairIndexList, SFTIndexList *indexList, MultiSFTVector *sfts, MultiNoiseWeights *multiWeights)
 
int XLALCalculateLMXBCrossCorrDiagMetricShort (REAL8 *hSens, REAL8 *g_ff, REAL8 *g_aa, REAL8 *g_TT, REAL8 *g_pp, const PulsarDopplerParams DopplerParams, const REAL8Vector *restrict G_alpha, const MultiResampSFTPairMultiIndexList *restrict resampMultiPairIndexList, const MultiLIGOTimeGPSVector *restrict timestamps, const MultiNoiseWeights *restrict multiWeights)
 MODIFIED for Tshort: calculate metric diagonal components, also include the estimation of sensitivity E[rho]/(h_0)^2. More...
 
LIGOTimeGPSVectorXLALExtractTimestampsFromSFTsShort (REAL8TimeSeries **sciFlag, const SFTVector *sfts, REAL8 tShort, UINT4 numShortPerDet)
 ‍** (possible future function) Wrapper for Bessel Orbital Space stepper in the manner of V. Dergachev's loosely-coherent search *‍/ More...
 
LIGOTimeGPSVectorXLALModifyTimestampsFromSFTsShort (REAL8TimeSeries **sciFlag, const LIGOTimeGPSVector *restrict Times, const REAL8 tShort, const UINT4 numShortPerDet)
 Modify timestamps from one detector with tShort. More...
 
MultiLIGOTimeGPSVectorXLALModifyMultiTimestampsFromSFTs (MultiREAL8TimeSeries **scienceFlagVect, const MultiLIGOTimeGPSVector *restrict multiTimes, const REAL8 tShort, const UINT4 numShortPerDet)
 Given a multi-SFT vector, return a MultiLIGOTimeGPSVector holding the modified SFT timestamps (production function using tShort) More...
 
MultiLIGOTimeGPSVectorXLALExtractMultiTimestampsFromSFTsShort (MultiREAL8TimeSeries **scienceFlagVect, const MultiSFTVector *multiSFTs, REAL8 tShort, UINT4 numShortPerDet)
 Given a multi-SFT vector, return a MultiLIGOTimeGPSVector holding the SFT timestamps (test function using tShort) More...
 
int XLALFillDetectorTensorShort (DetectorState *detState, const LALDetector *detector)
 (test function) fill detector state with tShort, importing various slightly-modified LALPulsar functions for testing More...
 
DetectorStateSeriesXLALGetDetectorStatesShort (const LIGOTimeGPSVector *timestamps, const LALDetector *detector, const EphemerisData *edat, REAL8 tOffset, REAL8 tShort, UINT4 numShortPerDet)
 (test function) get detector states for tShort More...
 
MultiDetectorStateSeriesXLALGetMultiDetectorStatesShort (const MultiLIGOTimeGPSVector *multiTS, const MultiLALDetector *multiIFO, const EphemerisData *edat, REAL8 tOffset, REAL8 tShort, UINT4 numShortPerDet)
 (test function) get multi detector states for tShort More...
 
int XLALModifyAMCoeffsWeights (REAL8Vector **resampMultiWeightsX, const MultiNoiseWeights *restrict multiWeights, const REAL8 tShort, const REAL8 tSFTOld, const UINT4 numShortPerDet, const MultiLIGOTimeGPSVector *restrict multiTimes, const UINT4 maxNumStepsOldIfGapless, const UINT4 X)
 Modify amplitude weight coefficients for tShort. More...
 
int XLALModifyMultiAMCoeffsWeights (MultiNoiseWeights **multiWeights, const REAL8 tShort, const REAL8 tSFTOld, const UINT4 numShortPerDet, const MultiLIGOTimeGPSVector *restrict multiTimes)
 Modify multiple detectors' amplitude weight coefficients for tShort. More...
 
int XLALWeightMultiAMCoeffsShort (MultiAMCoeffs *multiAMcoef, const MultiNoiseWeights *multiWeights, REAL8 tShort, REAL8 tSFTOld, UINT4 numShortPerDet, MultiLIGOTimeGPSVector *multiTimes)
 (test function) used for weighting multi amplitude modulation coefficients More...
 
AMCoeffsXLALComputeAMCoeffsShort (const DetectorStateSeries *DetectorStates, SkyPosition skypos)
 (test function) used for computing amplitude modulation weights More...
 
MultiAMCoeffsXLALComputeMultiAMCoeffsShort (const MultiDetectorStateSeries *multiDetStates, const MultiNoiseWeights *multiWeights, SkyPosition skypos, REAL8 tShort, REAL8 tSFTOld, UINT4 numShortPerDet, MultiLIGOTimeGPSVector *multiTimes)
 (test function) used for computing multi amplitude modulation weights More...
 
UINT4 XLALCrossCorrNumShortPerDetector (const REAL8 resampTshort, const INT4 startTime, const INT4 endTime)
 Compute the number of tShort segments per detector. More...
 
REAL8TimeSeriesXLALCrossCorrGapFinderResamp (LIGOTimeGPSVector *restrict timestamps, const LIGOTimeGPSVector *restrict Times)
 Find gaps in the data given the SFTs. More...
 
REAL8TimeSeriesXLALCrossCorrGapFinderResampAlt (LIGOTimeGPSVector *restrict timestamps, const SFTVector *restrict sfts)
 (test function) find gaps in the data given the SFTs More...
 
int XLALEquipCrossCorrPairsWithScienceFlags (MultiResampSFTPairMultiIndexList *resampMultiPairs, MultiREAL8TimeSeries *scienceFlagVect)
 Demarcate pairs with flags about whether data exists in zero-padded timeseries. More...
 
int XLALCreateCrossCorrWorkspace (ResampCrossCorrWorkspace **wsOut, COMPLEX8 **ws1KFaX_kOut, COMPLEX8 **ws1KFbX_kOut, COMPLEX8 **ws2LFaX_kOut, COMPLEX8 **ws2LFbX_kOut, MultiCOMPLEX8TimeSeries **multiTimeSeries_SRC_aOut, MultiCOMPLEX8TimeSeries **multiTimeSeries_SRC_bOut, const PulsarDopplerParams binaryTemplateSpacings, FstatInput *resampFstatInput, const UINT4 numFreqBins, const REAL8 tCoh, const BOOLEAN treatWarningsAsErrors)
 ‍** (possible future function) does not work – would adjust timestamps of an SFT vector *‍/ More...
 
void XLALDestroySFTIndexList (SFTIndexList *sftIndices)
 Destroy a SFTIndexList structure. More...
 
void XLALDestroySFTPairIndexList (SFTPairIndexList *sftPairs)
 Destroy a SFTPairIndexList structure. More...
 
void XLALDestroyResampSFTIndexList (ResampSFTIndexList *sftResampList)
 
void XLALDestroyResampSFTMultiIndexList (ResampSFTMultiIndexList *sftResampMultiList)
 
void XLALDestroyResampSFTPairMultiIndexList (ResampSFTPairMultiIndexList *sftResampPairMultiList)
 
void XLALDestroyMultiResampSFTPairMultiIndexList (MultiResampSFTPairMultiIndexList *sftMultiPairsResamp)
 
void XLALDestroyMultiMatchList (MultiResampSFTMultiCountList *localMultiListOfLmatchingGivenMultiK)
 
void XLALDestroyResampCrossCorrWorkspace (void *workspace)
 

Go to the source code of this file.

Macros

#define SQUARE(x)   ((x)*(x))
 
#define QUAD(x)   ((x)*(x)*(x)*(x))
 
#define GPSDIFF(x, y)   (1.0*((x).gpsSeconds - (y).gpsSeconds) + ((x).gpsNanoSeconds - (y).gpsNanoSeconds)*1e-9)
 
#define MYMAX(x, y)   ( (x) > (y) ? (x) : (y) )
 
#define MYMIN(x, y)   ( (x) < (y) ? (x) : (y) )
 
#define USE_ALIGNED_MEMORY_ROUTINES
 
#define TRUE   (1==1)
 
#define FALSE   (1==0)
 
#define SINC_SAFETY   1e-5
 

Macro Definition Documentation

◆ SQUARE

#define SQUARE (   x)    ((x)*(x))

Definition at line 25 of file PulsarCrossCorr_v2.c.

◆ QUAD

#define QUAD (   x)    ((x)*(x)*(x)*(x))

Definition at line 26 of file PulsarCrossCorr_v2.c.

◆ GPSDIFF

#define GPSDIFF (   x,
  y 
)    (1.0*((x).gpsSeconds - (y).gpsSeconds) + ((x).gpsNanoSeconds - (y).gpsNanoSeconds)*1e-9)

Definition at line 27 of file PulsarCrossCorr_v2.c.

◆ MYMAX

#define MYMAX (   x,
  y 
)    ( (x) > (y) ? (x) : (y) )

Definition at line 28 of file PulsarCrossCorr_v2.c.

◆ MYMIN

#define MYMIN (   x,
  y 
)    ( (x) < (y) ? (x) : (y) )

Definition at line 29 of file PulsarCrossCorr_v2.c.

◆ USE_ALIGNED_MEMORY_ROUTINES

#define USE_ALIGNED_MEMORY_ROUTINES

Definition at line 30 of file PulsarCrossCorr_v2.c.

◆ TRUE

#define TRUE   (1==1)

Definition at line 31 of file PulsarCrossCorr_v2.c.

◆ FALSE

#define FALSE   (1==0)

Definition at line 32 of file PulsarCrossCorr_v2.c.

◆ SINC_SAFETY

#define SINC_SAFETY   1e-5