90 #include <lal/LALStdlib.h>
91 #include <lal/LALConstants.h>
92 #include <lal/AVFactories.h>
93 #include <lal/SeqFactories.h>
94 #include <lal/LALComputeAM.h>
95 #include <lal/ComputeSky.h>
96 #include <lal/SFTfileIO.h>
99 #include <lal/HoughMap.h>
100 #include <lal/PulsarDataTypes.h>
101 #include <lal/NormalizeSFTRngMed.h>
110 #define LALHOUGHH_ENULL 1
111 #define LALHOUGHH_ESIZE 2
112 #define LALHOUGHH_ESZMM 4
113 #define LALHOUGHH_EINT 6
114 #define LALHOUGHH_ESAME 8
115 #define LALHOUGHH_EFREQ 10
116 #define LALHOUGHH_EVAL 12
117 #define LALHOUGHH_EMEM 32
119 #define LALHOUGHH_MSGENULL "Null pointer"
120 #define LALHOUGHH_MSGESIZE "Invalid input size"
121 #define LALHOUGHH_MSGESZMM "Size mismatch"
122 #define LALHOUGHH_MSGEINT "Invalid interval"
123 #define LALHOUGHH_MSGESAME "Input/Output pointers are the same"
124 #define LALHOUGHH_MSGEFREQ "Invalid frequency"
125 #define LALHOUGHH_MSGEVAL "Invalid value"
126 #define LALHOUGHH_MSGEMEM "malloc() failed / Out of memory"
149 typedef struct tagUINT8FrequencyIndexVector{
160 typedef struct tagUINT8FrequencyIndexVectorSequence{
167 typedef struct tagHOUGHPeakGramVector{
173 typedef struct tagHOUGHptfLUTVector{
179 typedef struct tagHOUGHMapTotalVector{
189 typedef struct tagPHMDVectorSequence{
199 typedef struct tagHOUGHResidualSpinPar{
void LALHOUGHConstructHMT_W(LALStatus *status, HOUGHMapTotal *ht, UINT8FrequencyIndexVector *freqInd, PHMDVectorSequence *phmdVS)
Calculates the total hough map for a given trajectory in the time-frequency plane and a set of partia...
void LALHOUGHConstructSpacePHMD(LALStatus *status, PHMDVectorSequence *phmdVS, HOUGHPeakGramVector *pgV, HOUGHptfLUTVector *lutV)
constructs the space of phmd PHMDVectorSequence *phmdVS, given a HOUGHPeakGramVector *pgV and HOUGHpt...
void LALHOUGHupdateSpacePHMDdn(LALStatus *status, PHMDVectorSequence *phmdVS, HOUGHPeakGramVector *pgV, HOUGHptfLUTVector *lutV)
Function for shifting the cylindrical buffer of PHMDs down by one frequency bin – the highest frequen...
void LALHOUGHNormalizeWeights(LALStatus *status, REAL8Vector *weightV)
Normalizes weight factors so that their sum is N.
void LALHOUGHComputeFBinMap(LALStatus *status, UINT8 *fBinMap, UINT8 *f0Bin, HOUGHResidualSpinPar *rs)
This function computes the corresponding frequency bin of a phmd UINT8 *fBinMap for a given intrinsic...
void LALHOUGHComputeAMWeights(LALStatus *status, REAL8Vector *weightV, LIGOTimeGPSVector *timeV, LALDetector *detector, EphemerisData *edat, REAL8 alpha, REAL8 delta)
Computes weight factors arising from amplitude modulation – it multiplies an existing weight vector.
void LALHOUGHWeighSpacePHMD(LALStatus *status, PHMDVectorSequence *phmdVS, REAL8Vector *weightV)
Adds weight factors for set of partial hough map derivatives – the weights must be calculated outside...
void LALHOUGHInitializeWeights(LALStatus *status, REAL8Vector *weightV)
Initializes weight factors to unity.
void LALHOUGHupdateSpacePHMDup(LALStatus *status, PHMDVectorSequence *phmdVS, HOUGHPeakGramVector *pgV, HOUGHptfLUTVector *lutV)
This function updates the space of phmd increasing the frequency phmdVS->fBinMin by one.
void LALHOUGHConstructHMT(LALStatus *status, HOUGHMapTotal *ht, UINT8FrequencyIndexVector *freqInd, PHMDVectorSequence *phmdVS)
Given PHMDVectorSequence *phmdVS, the space of phmd, and UINT8FrequencyIndexVector *freqInd,...
void LALHOUGHComputeMultiIFOAMWeights(LALStatus *status, REAL8Vector *weightV, SFTCatalog *catalog, EphemerisData *edat, REAL8 alpha, REAL8 delta)
This structure contains all information about the center-of-mass positions of the Earth and Sun,...
This structure stores the Hough map.
This structure contains a vector of Hough maps.
HOUGHMapTotal * ht
the Hough maps
UINT4 length
number of elements
This structure stores the `‘peak-gram’'.
This structure contains a vector of peak-grams (for the different time stamps)
UINT4 length
number of elements
HOUGHPeakGram * pg
the Peakgrams
This structure stores the residual spin-down parameters at a given time.
REAL8 deltaF
Frequency resolution; df=1/TCOH.
REAL8Vector spinRes
length: Maximum order of spdwn parameter *data: pointer to residual Spin parameter set fk
REAL8 timeDiff
: time difference
This structure stores a partial Hough map derivative.
This structure stores the patch-time-frequency look up table.
This structure contains a vector of partial look up tables (for the different time stamps)
HOUGHptfLUT * lut
the partial Look Up Tables
UINT4 length
number of elements
A vector of 'timestamps' of type LIGOTimeGPS.
This structure contains a vector sequence of partial-Hough maps derivatives (for different time stamp...
UINT8 fBinMin
frequency index of smallest intrinsic frequency in circular buffer
UINT4 breakLine
Mark [0, nfSize) (of the circular buffer) pointing to the starting of the fBinMin line.
UINT4 nfSize
number of different frequencies
REAL8 deltaF
frequency resolution
HOUGHphmd * phmd
the partial Hough map derivatives
UINT4 length
number of elements for each frequency
An "SFT-catalogue": a vector of SFTdescriptors, as returned by XLALSFTdataFind()
This structure stores the frequency indexes of the partial-Hough map derivatives at different time st...
UINT8 * data
the frequency indexes
REAL8 deltaF
frequency resolution
UINT4 length
number of elements
This structure stores a set of frequency-index vectors.
UINT4 length
number of elements
UINT8FrequencyIndexVector * freqIndV
the frequency indexes
UINT4 vectorLength
frequency resolution