29#ifndef _DOPPLERFULLSCAN_H
30#define _DOPPLERFULLSCAN_H
38#include <lal/LALDatatypes.h>
39#include <lal/SkyCoordinates.h>
40#include <lal/PtoleMetric.h>
41#include <lal/LALBarycenter.h>
42#include <lal/PulsarDataTypes.h>
43#include <lal/ComputeFstat.h>
44#include <lal/DopplerScan.h>
45#include <lal/LatticeTiling.h>
59SWIGLAL( IMMUTABLE_MEMBERS( tagDopplerFullScanInit, Detector, ephemeris, gridFile ) );
61typedef struct tagDopplerFullScanInit {
101 const size_t freq_dimension,
102 const size_t f1dot_dimension,
104 const double min_braking,
105 const double max_braking
113 const size_t freq_dimension,
114 const size_t f1dot_dimension,
115 const size_t f2dot_dimension,
116 const double min_braking,
117 const double max_braking
124 DopplerFullScanState *scan,
void XLALDestroyDopplerFullScan(DopplerFullScanState *scan)
Destroy the a full DopplerFullScanState structure.
REAL8 XLALNumDopplerTemplates(DopplerFullScanState *scan)
Return (and compute if not done so yet) the total number of Doppler templates of the DopplerScan scan...
void InitDopplerFullScan(LALStatus *, DopplerFullScanState **scanState, const DopplerFullScanInit *init)
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.
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 dimens...
DopplerFullScanState * XLALInitDopplerFullScan(const DopplerFullScanInit *init)
Set up a full multi-dimensional grid-scan.
int XLALGetDopplerSpinRange(PulsarSpinRange *spinRange, const DopplerFullScanState *scan)
Return the spin-range spanned by the given template bank stored in the opaque DopplerFullScanState.
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 dimensio...
int XLALNextDopplerPos(PulsarDopplerParams *pos, DopplerFullScanState *scan)
Function to step through the full template grid point by 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.
DopplerGridType
different types of grids:
LALPulsarMetricType
Constants defining different types of pulsar-metrics.
Structure describing a region in paramter-space (a,d,f,f1dot,..).
LALPulsarMetricType metricType
which metric to use if GRID_METRIC
const CHAR * gridFile
filename for sky-grid or full-grid if GRID_FILE_SKYGRID or GRID_FILE_FULLGRID
REAL8 metricMismatch
for GRID_METRIC and GRID_ISOTROPIC
const LALDetector * Detector
Current detector.
LIGOTimeGPS startTime
start-time of the observation
REAL8 Tspan
total time spanned by observation
DopplerRegion searchRegion
Doppler-space region to be covered + scanned.
BOOLEAN projectMetric
project metric on f=const subspace
PulsarDopplerParams stepSizes
user-settings for stepsizes if GRID_FLAT
const EphemerisData * ephemeris
ephemeris-data for numerical metrics
DopplerGridType gridType
which type of grid to generate
This structure contains all information about the center-of-mass positions of the Earth and Sun,...
Type containing the 'Doppler-parameters' affecting the time-evolution of the phase.
Contains a "spin-range", ie spins and corresponding bands at a given (SSB) reference GPS-time .
--— internal [opaque] type to store the state of a FULL multidimensional grid-scan --—
PulsarSpinRange spinRange
spin-range covered by template bank