32#ifndef _DRIVEHOUGHCOLOR_H
33#define _DRIVEHOUGHCOLOR_H
47#include <lal/UserInput.h>
48#include <lal/LALStdlib.h>
49#include <lal/PulsarDataTypes.h>
50#include <lal/SFTfileIO.h>
51#include <lal/AVFactories.h>
52#include <lal/RngMedBias.h>
53#include <lal/LALComputeAM.h>
54#include <lal/ComputeSky.h>
55#include <lal/LALInitBarycenter.h>
56#include <lal/Velocity.h>
57#include <lal/ExtrapolatePulsarSpins.h>
59#include <lal/LALHough.h>
60#include <lal/NormalizeSFTRngMed.h>
61#include <lal/ComputeFstat.h>
62#include <lal/Statistics.h>
63#include <lal/GeneratePulsarSignal.h>
64#include <lal/LogPrintf.h>
65#include <lal/DopplerScan.h>
66#include <lal/LALPulsarVCSInfo.h>
84#define HIERARCHICALSEARCH_ENORM 0
85#define HIERARCHICALSEARCH_ESUB 1
86#define HIERARCHICALSEARCH_EARG 2
87#define HIERARCHICALSEARCH_EBAD 3
88#define HIERARCHICALSEARCH_EFILE 4
89#define HIERARCHICALSEARCH_ENULL 5
90#define HIERARCHICALSEARCH_EVAL 6
91#define HIERARCHICALSEARCH_ENONULL 7
92#define HIERARCHICALSEARCH_EDLOPEN 8
93#define HIERARCHICALSEARCH_EWORKER 9
94#define HIERARCHICALSEARCH_ECHECKPT 10
95#define HIERARCHICALSEARCH_EMEM 11
96#define HIERARCHICALSEARCH_ESFT 12
97#define HIERARCHICALSEARCH_EXLAL 13
100#define HIERARCHICALSEARCH_MSGENORM "Normal exit"
101#define HIERARCHICALSEARCH_MSGESUB "Subroutine failed"
102#define HIERARCHICALSEARCH_MSGEARG "Error parsing arguments"
103#define HIERARCHICALSEARCH_MSGEBAD "Bad argument values"
104#define HIERARCHICALSEARCH_MSGEFILE "Could not create output file"
105#define HIERARCHICALSEARCH_MSGENULL "Null pointer"
106#define HIERARCHICALSEARCH_MSGEVAL "Invalid value"
107#define HIERARCHICALSEARCH_MSGENONULL "Pointer not null"
108#define HIERARCHICALSEARCH_MSGECHECKPT "Could not resume from checkpoint"
109#define HIERARCHICALSEARCH_MSGEMEM "Out of memory"
110#define HIERARCHICALSEARCH_MSGESFT "SFT validity check failed"
111#define HIERARCHICALSEARCH_MSGEXLAL "XLAL function call failed"
120 typedef struct tagSFTCatalogSequence {
128 typedef struct tagSemiCoherentParams {
145 UINT4 extraBinsFstat;
149 typedef struct tagSemiCohCandidate {
166 typedef struct tagSemiCohCandidateList {
227 const CHAR *fnameChkPoint);
void FstatVectToPeakGram(LALStatus *status, HOUGHPeakGramVector *pgV, REAL4FrequencySeriesVector *FstatVect, REAL4 thr)
Function for selecting frequency bins from a set of Fstatistic vectors.
void GetChkPointIndex(LALStatus *status, INT4 *loopindex, const CHAR *fnameChkPoint)
Read checkpointing file This does not (yet) check any consistency of the existing results file.
void LocalComputeFstatHoughMap(LALStatus *status, SemiCohCandidateList *out, HOUGHPeakGramVector *pgV, SemiCoherentParams *params)
void PrintHmap2file(LALStatus *status, HOUGHMapTotal *ht, CHAR *fnameOut, INT4 iHmap)
Print single Hough map to a specified output file.
void GetHoughCandidates_toplist(LALStatus *status, toplist_t *list, HOUGHMapTotal *ht, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem)
Get Hough candidates as a toplist.
void GetFstatCandidates_toplist(LALStatus *status, toplist_t *list, REAL8FrequencySeries *FstatVec, REAL8 alpha, REAL8 delta, REAL8 fdot)
void ComputeFstatHoughMap(LALStatus *status, SemiCohCandidateList *out, HOUGHPeakGramVector *pgV, SemiCoherentParams *params)
Function for calculating Hough Maps and candidates.
void SetUpStacks(LALStatus *status, SFTCatalogSequence *out, REAL8 tStack, SFTCatalog *in, UINT4 nStacks)
Breaks up input sft catalog into specified number of stacks Loops over elements of the catalog,...
void GetHoughCandidates_threshold(LALStatus *status, SemiCohCandidateList *out, HOUGHMapTotal *ht, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem, REAL8 threshold)
Get Hough candidates as a toplist using a fixed threshold.
Demodulation parameters needed for the Hough transform; all coordinates are assumed to be with respec...
This structure stores the Hough map.
This structure stores patch-frequency grid information.
This structure contains a vector of peak-grams (for the different time stamps)
A vector of 'timestamps' of type LIGOTimeGPS.
A vector of REAL4FrequencySeries.
An "SFT-catalogue": a vector of SFTdescriptors, as returned by XLALSFTdataFind()
sequence of SFT catalogs – for each segment
one hough or stackslide candidate
REAL8 varianceSig
variance of significance values in Hough map
REAL8 deltaBest
delta for best candidate in hough map
REAL8 meanSig
mean of significance values in hough map
REAL8 alpha
right ascension
REAL8 dFreq
frequency error
REAL8 alphaBest
alpha for best candidate in hough map
REAL8 significance
significance
structure for storing candidates produced by Hough search
LIGOTimeGPS refTime
reference time for candidates
INT4 length
maximum allowed length of vectors
INT4 nCandidates
number of candidates – must be less than length
parameters for the semicoherent stage
REAL8 patchSizeX
Size of semicoherent sky-patch.
REAL8 patchSizeY
Size of semicoherent sky-patch.
REAL8 alpha
right ascension of demodulation point
REAL8 dfdot
resolution in residual spindowns
REAL8 fdot
spindown value of demodulation point
BOOLEAN useToplist
Use a toplist for producing candidates?
REAL8 pixelFactor
Resolution of semicoherent sky-grid.
REAL8 delta
declination of demodulation point
REAL8Vector * weightsV
Vector of weights for each stack.
UINT4 nfdot
number of fdot values to search over