23 #include <lal/ComputeFstat.h>
36 #define GPSDIFF(x,y) (1.0*((x).gpsSeconds - (y).gpsSeconds) + ((x).gpsNanoSeconds - (y).gpsNanoSeconds)*1e-9)
37 #define GPSGETREAL8(x) ( (x)->gpsSeconds + ( (x)->gpsNanoSeconds / XLAL_BILLION_REAL8 ) );
38 #define GPSSETREAL8(gps,r8) do { \
39 (gps).gpsSeconds = (UINT4)floor(r8); \
40 (gps).gpsNanoSeconds = (UINT4)round ( ((r8) - (gps).gpsSeconds) * XLAL_BILLION_REAL8 ); \
41 if ( (gps).gpsNanoSeconds == XLAL_BILLION_INT4 ) { \
42 (gps).gpsSeconds += 1; \
43 (gps).gpsNanoSeconds = 0; \
52 typedef struct tagTimings_t {
66 typedef struct tagFstatTimingResamp {
81 "%%%% ----- Resampling-specific timing model -----\n"
82 "%%%% NsampFFT0: original number of FFT samples (not yet rounded up to power-of-two)\n"
83 "%%%% NsampFFT: actual number of FFT samples (rounded to power-of-two if optArgs->resampFFTPowerOf2 == true)\n"
84 "%%%% R: (internal) frequency resolution in natural units: df_internal = R / T_FFT\n"
86 "%%%% tau0_Fbin: timing coefficient for all contributions scaling with output frequency-bins\n"
87 "%%%% tau0_spin: timing coefficient for spindown-correction\n"
88 "%%%% tau0_FFT: timing coefficient for FFT-time\n"
89 "%%%% tau0_bary: timing coefficient for barycentering\n"
91 "%%%% Resampling F-statistic timing model:\n"
92 "%%%% tauF_core = tau0_Fbin + (NsampFFT/NFbin) * ( R * tau0_spin + 5 * log2(NsampFFT) * tau0_FFT )\n"
93 "%%%% tauF_buffer = R * NsampFFT * tau0_bary / NFbin\n"
110 timingModel->
names[
i] =
"NsampFFT0";
114 timingModel->
names[
i] =
"NsampFFT";
118 timingModel->
names[
i] =
"Resolution";
122 timingModel->
names[
i] =
"tau0_Fbin";
126 timingModel->
names[
i] =
"tau0_spin";
130 timingModel->
names[
i] =
"tau0_FFT";
134 timingModel->
names[
i] =
"tau0_bary";
static const char FstatTimingResampHelp[]
static int XLALGetFstatTiming_Resamp_intern(const FstatTimingResamp *tiRS, FstatTimingModel *timingModel)
#define XLAL_CHECK(assertion,...)
Struct to carry the -statistic method-specific timing model in terms of a list of variable names and...
REAL4 values[TIMING_MODEL_MAX_VARS]
const char * names[TIMING_MODEL_MAX_VARS]