LALPulsar 7.1.1.1-eeff03c
StackSlideFstat.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2005 Gregory Mendell
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with with program; see the file COPYING. If not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 *
19 */
20
21
22
23/**
24 * \file StackSlideFstat.h
25 * \ingroup lalpulsar_bin_HoughFstat
26 * \brief Header file for StackSlideFstat.c
27 * \author Gregory Mendell
28 *
29 */
30
31
32#ifndef _STACKSLIDEFSTAT_H
33#define _STACKSLIDEFSTAT_H
34
35#include <sys/types.h>
36#include <fcntl.h>
37#include <string.h>
38#include <stdio.h>
39#include <stdlib.h>
40#include <math.h>
41#include <time.h>
42#include <errno.h>
43
44#include <lal/UserInput.h>
45#include <lal/LALStdlib.h>
46#include <lal/PulsarDataTypes.h>
47#include <lal/SFTfileIO.h>
48#include <lal/AVFactories.h>
49#include <lal/RngMedBias.h>
50#include <lal/LALComputeAM.h>
51#include <lal/ComputeSky.h>
52#include <lal/LALInitBarycenter.h>
53#include <lal/Velocity.h>
54#include <lal/ExtrapolatePulsarSpins.h>
55#include <lal/Date.h>
56#include <lal/LALHough.h>
57#include <lal/NormalizeSFTRngMed.h>
58#include <lal/ComputeFstat.h>
59#include <lal/Statistics.h>
60#include <lal/GeneratePulsarSignal.h>
61#include <lal/LogPrintf.h>
62
63#include "HierarchicalSearch.h"
64
65/******************************************************
66 * Protection against C++ name mangling
67 */
68
69#ifdef __cplusplus
70extern "C" {
71#endif
72
73
74/******************************************************
75 * Error codes and messages.
76 */
77
78#define STACKSLIDEFSTAT_ENORM 0
79#define STACKSLIDEFSTAT_ESUB 1
80#define STACKSLIDEFSTAT_EARG 2
81#define STACKSLIDEFSTAT_EBAD 3
82#define STACKSLIDEFSTAT_EFILE 4
83#define STACKSLIDEFSTAT_ENULL 5
84#define STACKSLIDEFSTAT_EVAL 6
85#define STACKSLIDEFSTAT_ENONULL 7
86
87#define STACKSLIDEFSTAT_MSGENORM "Normal exit"
88#define STACKSLIDEFSTAT_MSGESUB "Subroutine failed"
89#define STACKSLIDEFSTAT_MSGEARG "Error parsing arguments"
90#define STACKSLIDEFSTAT_MSGEBAD "Bad argument values"
91#define STACKSLIDEFSTAT_MSGEFILE "Could not create output file"
92#define STACKSLIDEFSTAT_MSGENULL "Null pointer"
93#define STACKSLIDEFSTAT_MSGEVAL "Invalid value"
94#define STACKSLIDEFSTAT_MSGENONULL "Pointer not null"
95
96
97/* ******************************************************************
98 * Structure, enum, union, etc., typdefs.
99 */
100
101/* prototypes */
102
103/* Function that stackslides a vector of Fstat frequency series or any REAL8FrequencySeriesVector. */
108
109
114
115/* Calculate f(t) using the master equation given by Eq. 6.18 in gr-qc/0407001 */
116/* Returns f(t) in outputPoint.fkdot[0] */
118 PulsarDopplerParams *outputPoint,
119 PulsarDopplerParams *inputPoint,
120 REAL8 *vel,
121 REAL8 deltaT,
122 UINT2 numSpindown );
123
124/* Get StackSlide candidates using a fixed threshold */
127 REAL8FrequencySeries *stackslideSum,
128 PulsarDopplerParams *outputPoint,
129 PulsarDopplerParams *outputPointUnc,
130 REAL8 threshold );
131
132/* Get StackSlide candidates as a toplist */
134 toplist_t *list,
135 REAL8FrequencySeries *stackslideSum,
136 PulsarDopplerParams *outputPoint,
137 PulsarDopplerParams *outputPointUnc );
138
139#ifdef __cplusplus
140} /* Close C++ protection */
141#endif
142
143
144#endif /* Close double-include protection _STACKSLIDEFSTAT_H */
Header file for DriveHoughFstat.c.
void GetStackSlideCandidates_toplist(LALStatus *status, toplist_t *list, REAL8FrequencySeries *stackslideSum, PulsarDopplerParams *outputPoint, PulsarDopplerParams *outputPointUnc)
void GetStackSlideCandidates_threshold(LALStatus *status, SemiCohCandidateList *out, REAL8FrequencySeries *stackslideSum, PulsarDopplerParams *outputPoint, PulsarDopplerParams *outputPointUnc, REAL8 threshold)
void StackSlideVecF(LALStatus *status, SemiCohCandidateList *out, REAL4FrequencySeriesVector *vecF, SemiCoherentParams *params)
Function StackSlides a vector of Fstat frequency series or any REAL8FrequencySeriesVector.
void StackSlideVecF_HoughMode(LALStatus *status, SemiCohCandidateList *out, REAL4FrequencySeriesVector *vecF, SemiCoherentParams *params)
Function StackSlides a vector of Fstat frequency series or any REAL8FrequencySeriesVector.
void FindFreqFromMasterEquation(LALStatus *status, PulsarDopplerParams *outputPoint, PulsarDopplerParams *inputPoint, REAL8 *vel, REAL8 deltaT, UINT2 numSpindown)
double REAL8
uint16_t UINT2
Type containing the 'Doppler-parameters' affecting the time-evolution of the phase.
A vector of REAL4FrequencySeries.
structure for storing candidates produced by Hough search
parameters for the semicoherent stage