Functions for handling "full" multi-dimensional search-grids for CFS. as opposed to the "factored" grids implemented in DopplerScan.[ch]. More...
Prototypes | |
int | XLALInitFactoredGrid (DopplerFullScanState *scan, const DopplerFullScanInit *init) |
Initialize Doppler-scanner to emulate an old-style factored template grid: 'sky x f0dot x f1dot x f2dot x f3dot'. More... | |
int | nextPointInFactoredGrid (PulsarDopplerParams *pos, DopplerFullScanState *scan) |
return current grid-point and step forward one template in 'factored' grids (sky x f0dot x f1dot ... ) return 0 = OK, -1 = ERROR More... | |
int | XLALLoadFullGridFile (DopplerFullScanState *scan, const DopplerFullScanInit *init) |
load a full multi-dim template grid from the file init->gridFile, the file-format is: lines of 6 columns, which are: More... | |
DopplerFullScanState * | XLALInitDopplerFullScan (const DopplerFullScanInit *init) |
Set up a full multi-dimensional grid-scan. More... | |
void | InitDopplerFullScan (LALStatus *status, DopplerFullScanState **scan, const DopplerFullScanInit *init) |
int | XLALGetDopplerSpinRange (PulsarSpinRange *spinRange, const DopplerFullScanState *scan) |
Return the spin-range spanned by the given template bank stored in the opaque DopplerFullScanState. More... | |
REAL8 | XLALNumDopplerTemplates (DopplerFullScanState *scan) |
Return (and compute if not done so yet) the total number of Doppler templates of the DopplerScan scan. More... | |
UINT8 | XLALNumDopplerPointsAtDimension (DopplerFullScanState *scan, const size_t dim) |
Compute and return the total number of frequency and spindown points up to and along a certain dimension dim of the DopplerScan scan. More... | |
int | XLALNextDopplerPos (PulsarDopplerParams *pos, DopplerFullScanState *scan) |
Function to step through the full template grid point by point. More... | |
static void | XLALREAL8VectorListDestroy (REAL8VectorList *head) |
void | XLALDestroyDopplerFullScan (DopplerFullScanState *scan) |
Destroy the a full DopplerFullScanState structure. More... | |
static REAL8VectorList * | XLALREAL8VectorListAddEntry (REAL8VectorList *head, const REAL8Vector *entry) |
static double | F1DotAgeBrakingBound (const void *data, const size_t dim UNUSED, const gsl_matrix *cache UNUSED, const gsl_vector *point) |
int | XLALSetLatticeTilingF1DotAgeBrakingBound (LatticeTiling *tiling, const size_t freq_dimension, const size_t f1dot_dimension, const double age, const double min_braking, const double max_braking) |
Set a first spindown bound derived from spindown age and braking indices. More... | |
static double | F2DotBrakingBound (const void *data, const size_t dim UNUSED, const gsl_matrix *cache UNUSED, const gsl_vector *point) |
int | XLALSetLatticeTilingF2DotBrakingBound (LatticeTiling *tiling, const size_t freq_dimension, const size_t f1dot_dimension, const size_t f2dot_dimension, const double min_braking, const double max_braking) |
Set a second spindown bound derived from braking indices. More... | |
REAL8 | XLALGetDopplerLatticeTilingStepSize (DopplerFullScanState *scan, const size_t dim) |
Return the step size of the spindown lattice tiling in a given dimension, or 0 for non-tiled dimensions. More... | |
Functions for handling "full" multi-dimensional search-grids for CFS. as opposed to the "factored" grids implemented in DopplerScan.[ch].
Definition in file DopplerFullScan.c.
Go to the source code of this file.
Data Structures | |
struct | factoredGridScan_t |
struct | REAL8VectorList |
doubly linked list of REAL8-vectors (physical vectors) More... | |
struct | DopplerFullScanState |
--— internal [opaque] type to store the state of a FULL multidimensional grid-scan --— More... | |
struct | F1DotAgeBrakingBoundInfo |
struct | F2DotBrakingBoundInfo |
Macros | |
#define | MIN(x, y) (x < y ? x : y) |
#define | MAX(x, y) (x > y ? x : y) |
#define | TRUE (1==1) |
#define | FALSE (1==0) |
#define TRUE (1==1) |
Definition at line 45 of file DopplerFullScan.c.
#define FALSE (1==0) |
Definition at line 46 of file DopplerFullScan.c.
int XLALInitFactoredGrid | ( | DopplerFullScanState * | scan, |
const DopplerFullScanInit * | init | ||
) |
Initialize Doppler-scanner to emulate an old-style factored template grid: 'sky x f0dot x f1dot x f2dot x f3dot'.
This is a compatiblity-mode with the previous implementation currently also used in ComputeFstatistic.c.
scan | [bout] initialized Doppler scan state | |
[in] | init | initialization parameters |
Definition at line 302 of file DopplerFullScan.c.
int nextPointInFactoredGrid | ( | PulsarDopplerParams * | pos, |
DopplerFullScanState * | scan | ||
) |
return current grid-point and step forward one template in 'factored' grids (sky x f0dot x f1dot ... ) return 0 = OK, -1 = ERROR
Definition at line 570 of file DopplerFullScan.c.
int XLALLoadFullGridFile | ( | DopplerFullScanState * | scan, |
const DopplerFullScanInit * | init | ||
) |
load a full multi-dim template grid from the file init->gridFile, the file-format is: lines of 6 columns, which are:
Freq Alpha Delta f1dot f2dot f3dot
*) a possible future extension should probably clip the template-bank to the user-specified ranges, then return the effective ranges spanned by the resultant template bank.
*) in order to avoid surprises until such a feature is implemented, we currently return an error if any of the input spinRanges are non-zero
Definition at line 756 of file DopplerFullScan.c.
DopplerFullScanState * XLALInitDopplerFullScan | ( | const DopplerFullScanInit * | init | ) |
Set up a full multi-dimensional grid-scan.
Currently this only emulates a 'factored' grid-scan with 'sky x Freq x f1dot ...' , but keeps all details within the DopplerScan module for future extension to real multidimensional grids.
NOTE: Use 'XLALNextDopplerPos()' to step through this template grid.
[in] | init | initialization parameters |
Definition at line 106 of file DopplerFullScan.c.
void InitDopplerFullScan | ( | LALStatus * | status, |
DopplerFullScanState ** | scan, | ||
const DopplerFullScanInit * | init | ||
) |
status | pointer to LALStatus structure | |
[out] | scan | initialized Doppler scan state |
[in] | init | initialization parameters |
Definition at line 252 of file DopplerFullScan.c.
int XLALGetDopplerSpinRange | ( | PulsarSpinRange * | spinRange, |
const DopplerFullScanState * | scan | ||
) |
Return the spin-range spanned by the given template bank stored in the opaque DopplerFullScanState.
Definition at line 281 of file DopplerFullScan.c.
REAL8 XLALNumDopplerTemplates | ( | DopplerFullScanState * | scan | ) |
Return (and compute if not done so yet) the total number of Doppler templates of the DopplerScan scan.
Definition at line 381 of file DopplerFullScan.c.
Compute and return the total number of frequency and spindown points up to and along a certain dimension dim of the DopplerScan scan.
Definition at line 416 of file DopplerFullScan.c.
int XLALNextDopplerPos | ( | PulsarDopplerParams * | pos, |
DopplerFullScanState * | scan | ||
) |
Function to step through the full template grid point by point.
Normal return = 0, errors return -1, end of scan is signalled by return = 1
Definition at line 446 of file DopplerFullScan.c.
|
static |
Definition at line 637 of file DopplerFullScan.c.
void XLALDestroyDopplerFullScan | ( | DopplerFullScanState * | scan | ) |
Destroy the a full DopplerFullScanState structure.
Definition at line 665 of file DopplerFullScan.c.
|
static |
Definition at line 702 of file DopplerFullScan.c.
|
static |
Definition at line 909 of file DopplerFullScan.c.
int XLALSetLatticeTilingF1DotAgeBrakingBound | ( | LatticeTiling * | tiling, |
const size_t | freq_dimension, | ||
const size_t | f1dot_dimension, | ||
const double | age, | ||
const double | min_braking, | ||
const double | max_braking | ||
) |
Set a first spindown bound derived from spindown age and braking indices.
[in] | tiling | Lattice tiling |
[in] | freq_dimension | Frequency dimension |
[in] | f1dot_dimension | First spindown dimension |
[in] | age | Spindown age |
[in] | min_braking | Minimum braking index |
[in] | max_braking | Maximum braking index |
Definition at line 928 of file DopplerFullScan.c.
|
static |
Definition at line 964 of file DopplerFullScan.c.
int XLALSetLatticeTilingF2DotBrakingBound | ( | LatticeTiling * | tiling, |
const size_t | freq_dimension, | ||
const size_t | f1dot_dimension, | ||
const size_t | f2dot_dimension, | ||
const double | min_braking, | ||
const double | max_braking | ||
) |
Set a second spindown bound derived from braking indices.
[in] | tiling | Lattice tiling |
[in] | freq_dimension | Frequency dimension |
[in] | f1dot_dimension | First spindown dimension |
[in] | f2dot_dimension | Second spindown dimension |
[in] | min_braking | Minimum braking index |
[in] | max_braking | Maximum braking index |
Definition at line 984 of file DopplerFullScan.c.
Return the step size of the spindown lattice tiling in a given dimension, or 0 for non-tiled dimensions.
[in] | scan | Doppler scan state object |
[in] | dim | Dimension of which to return step size |
Definition at line 1015 of file DopplerFullScan.c.