LALPulsar  6.1.0.1-fe68b98
LatticeTiling.h File Reference

Prototypes

LatticeTiling * XLALCreateLatticeTiling (const size_t ndim)
 Create a new lattice tiling. More...
 
void XLALDestroyLatticeTiling (LatticeTiling *tiling)
 Destroy a lattice tiling. More...
 
int XLALSetLatticeTilingBound (LatticeTiling *tiling, const size_t dim, const LatticeTilingBound func, const size_t data_len, const void *data_lower, const void *data_upper)
 Set a parameter-space bound on a dimension of the lattice tiling. More...
 
int XLALSetLatticeTilingBoundName (LatticeTiling *tiling, const size_t dim, const char *fmt,...) _LAL_GCC_PRINTF_FORMAT_(3
 Set the name of a lattice tiling parameter-space dimension. More...
 
int int XLALSetLatticeTilingBoundCacheFunction (LatticeTiling *tiling, const size_t dim, const LatticeTilingBoundCache func)
 Set bound cache function for a lattice tiling parameter-space dimension. More...
 
int XLALSetLatticeTilingConstantBound (LatticeTiling *tiling, const size_t dim, const double bound1, const double bound2)
 Set a constant lattice tiling parameter-space bound, given by the minimum and maximum of the two supplied bounds, on a dimension of the lattice tiling. More...
 
int XLALSetLatticeTilingPadding (LatticeTiling *tiling, const size_t dim, const double lower_bbox_pad, const double upper_bbox_pad, const int lower_intp_pad, const int upper_intp_pad, const int find_bound_extrema)
 Control the padding of lattice tiling parameter-space bounds in the given dimension. More...
 
int XLALSetLatticeTilingOrigin (LatticeTiling *tiling, const size_t dim, const double origin)
 Set the physical parameter-space origin of the lattice tiling in the given dimension. More...
 
int XLALSetLatticeTilingRandomOriginOffsets (LatticeTiling *tiling, RandomParams *rng)
 Offset the physical parameter-space origin of the lattice tiling by a random fraction of the lattice step size in tiled dimensions. More...
 
int XLALSetTiledLatticeDimensionsFromTiling (LatticeTiling *tiling, const LatticeTiling *ref_tiling)
 Set the tiled (i.e. More...
 
int XLALSetTilingLatticeAndMetric (LatticeTiling *tiling, const TilingLattice lattice, const gsl_matrix *metric, const double max_mismatch)
 Set the tiling lattice, parameter-space metric, and maximum prescribed mismatch. More...
 
size_t XLALTotalLatticeTilingDimensions (const LatticeTiling *tiling)
 Return the total number of dimensions of the lattice tiling. More...
 
size_t XLALTiledLatticeTilingDimensions (const LatticeTiling *tiling)
 Return the number of tiled dimensions of the lattice tiling. More...
 
size_t XLALLatticeTilingTiledDimension (const LatticeTiling *tiling, const size_t tiled_dim)
 Return the dimension of the tiled lattice tiling dimension indexed by 'tiled_dim'. More...
 
int XLALIsTiledLatticeTilingDimension (const LatticeTiling *tiling, const size_t dim)
 Return >0 if a lattice tiling dimension is tiled (i.e. More...
 
const charXLALLatticeTilingBoundName (const LatticeTiling *tiling, const size_t dim)
 Get the name of a lattice tiling parameter-space dimension. More...
 
int XLALLatticeTilingDimensionByName (const LatticeTiling *tiling, const char *bound_name)
 Return the index of the lattice tiling dimension which has the given name. More...
 
REAL8 XLALLatticeTilingStepSize (const LatticeTiling *tiling, const size_t dim)
 Return the step size of the lattice tiling in a given dimension, or 0 for non-tiled dimensions. More...
 
REAL8 XLALLatticeTilingBoundingBox (const LatticeTiling *tiling, const size_t dim)
 Return the bounding box extent of the lattice tiling in a given dimension, or 0 for non-tiled dimensions. More...
 
const void * XLALRegisterLatticeTilingCallback (LatticeTiling *tiling, const LatticeTilingCallback func, const size_t param_len, const void *param, const size_t out_len)
 Register a callback function which can be used to compute properties of a lattice tiling. More...
 
int XLALPerformLatticeTilingCallbacks (const LatticeTiling *tiling)
 Perform all registered lattice tiling callbacks. More...
 
const LatticeTilingStatsXLALLatticeTilingStatistics (const LatticeTiling *tiling, const size_t dim)
 Return statistics related to the number/value of lattice tiling points in a dimension. More...
 
int XLALRandomLatticeTilingPoints (const LatticeTiling *tiling, const double scale, RandomParams *rng, gsl_matrix *random_points)
 Generate random points within the parameter space of the lattice tiling. More...
 
int XLALGetLatticeTilingBound (const LatticeTiling *tiling, const size_t dim, const gsl_vector *point, const bool padding, double *lower, double *upper)
 Get a parameter-space bound on a dimension of the lattice tiling. More...
 
LatticeTilingIterator * XLALCreateLatticeTilingIterator (const LatticeTiling *tiling, const size_t itr_ndim)
 Create a new lattice tiling iterator. More...
 
void XLALDestroyLatticeTilingIterator (LatticeTilingIterator *itr)
 Destroy a lattice tiling iterator. More...
 
int XLALSetLatticeTilingAlternatingIterator (LatticeTilingIterator *itr, const bool alternating)
 Set whether the lattice tiling iterator should alternate its iteration direction (i.e. More...
 
int XLALResetLatticeTilingIterator (LatticeTilingIterator *itr)
 Reset an iterator to the beginning of a lattice tiling. More...
 
int XLALNextLatticeTilingPoint (LatticeTilingIterator *itr, gsl_vector *point)
 Advance lattice tiling iterator, and optionally return the next point in point. More...
 
int XLALNextLatticeTilingPoints (LatticeTilingIterator *itr, gsl_matrix **points)
 Advance lattice tiling iterator, and optionally return the next set of points in points. More...
 
UINT8 XLALTotalLatticeTilingPoints (const LatticeTilingIterator *itr)
 Return the total number of points covered by the lattice tiling iterator. More...
 
UINT8 XLALCurrentLatticeTilingIndex (const LatticeTilingIterator *itr)
 Return the index of the current point in the lattice tiling iterator. More...
 
int XLALCurrentLatticeTilingBlock (const LatticeTilingIterator *itr, const size_t dim, INT4 *left, INT4 *right)
 Return indexes of the left-most and right-most points in the current block of points in the given dimension, relative to the current point. More...
 
int XLALSaveLatticeTilingIterator (const LatticeTilingIterator *itr, FITSFile *file, const char *name)
 Save the state of a lattice tiling iterator to a FITS file. More...
 
int XLALRestoreLatticeTilingIterator (LatticeTilingIterator *itr, FITSFile *file, const char *name)
 Restore the state of a lattice tiling iterator from a FITS file. More...
 
LatticeTilingLocator * XLALCreateLatticeTilingLocator (const LatticeTiling *tiling)
 Create a new lattice tiling locator. More...
 
void XLALDestroyLatticeTilingLocator (LatticeTilingLocator *loc)
 Destroy a lattice tiling locator. More...
 
int XLALNearestLatticeTilingPoint (const LatticeTilingLocator *loc, const gsl_vector *point, gsl_vector *nearest_point, UINT8Vector *nearest_index)
 Locate the nearest point in a lattice tiling to a given point. More...
 
int XLALNearestLatticeTilingPoints (const LatticeTilingLocator *loc, const gsl_matrix *points, gsl_matrix **nearest_points, UINT8VectorSequence **nearest_indexes)
 Locate the nearest points in a lattice tiling to a given set of points. More...
 
int XLALNearestLatticeTilingBlock (const LatticeTilingLocator *loc, const gsl_vector *point, const size_t dim, gsl_vector *nearest_point, UINT8 *nearest_index, INT4 *nearest_left, INT4 *nearest_right)
 Locate the nearest block in a lattice tiling to a given point. More...
 
int XLALPrintLatticeTilingIndexTrie (const LatticeTilingLocator *loc, FILE *file)
 Print the internal index trie of a lattice tiling locator to the given file pointer. More...
 

Go to the source code of this file.

Data Structures

struct  LatticeTilingStats
 Statistics related to the number/value of lattice tiling points in a dimension. More...
 

Typedefs

typedef double(* LatticeTilingBound) (const void *data, const size_t dim, const gsl_matrix *cache, const gsl_vector *point)
 Function which returns a bound on a dimension of the lattice tiling. More...
 
typedef void(* LatticeTilingBoundCache) (const size_t dim, const gsl_vector *point, gsl_vector *cache)
 Function which caches values required by a lattice tiling bound function. More...
 
typedef int(* LatticeTilingCallback) (const bool first_call, const LatticeTiling *tiling, const LatticeTilingIterator *itr, const gsl_vector *point, const size_t changed_i, const void *param, void *out)
 Callback function which can be used to compute properties of a lattice tiling. More...
 

Enumerations

enum  TilingLattice { TILING_LATTICE_CUBIC , TILING_LATTICE_ANSTAR , TILING_LATTICE_MAX }
 Type of lattice to generate tiling with. More...
 

Variables

const UserChoices TilingLatticeChoices
 Static array of all :tagTilingLattice choices, for use by the UserInput module parsing routines. More...
 
int LatticeTilingProgressLogLevel
 Log level at which to print progress messages when counting templates and performing callbacks. More...