20#ifndef _RESULTS_TOPLIST_H
21#define _RESULTS_TOPLIST_H
34#include <lal/LALHeap.h>
35#include <lal/LFTandTSutils.h>
68typedef const REAL4 *( *WeaveResultsToplistRankingStats )(
const WeaveSemiResults *semi_res );
82 WeaveStatisticsParams *statistics_params,
83 const char *stat_name,
84 const char *stat_desc,
85 const UINT4 toplist_limit,
91 WeaveResultsToplist *toplist
94 WeaveResultsToplist *toplist,
95 const WeaveSemiResults *semi_res,
96 const UINT4 semi_nfreqs
99 WeaveResultsToplist *toplist
103 const WeaveResultsToplist *toplist
107 WeaveResultsToplist *toplist
111 const WeaveSetupData *setup,
112 const BOOLEAN sort_by_semi_phys,
113 const UINT4 round_param_to_dp,
114 const UINT4 round_param_to_sf,
115 const REAL8 unmatched_item_tol,
116 const REAL8 param_tol_mism,
118 const UINT4 toplist_compare_limit,
119 const WeaveResultsToplist *toplist_1,
120 const WeaveResultsToplist *toplist_2
Module which computes coherent and semicoherent results.
Module which handles the output results.
int XLALWeaveResultsToplistAdd(WeaveResultsToplist *toplist, const WeaveSemiResults *semi_res, const UINT4 semi_nfreqs)
Add semicoherent results to toplist.
REAL4(* WeaveResultsToplistItemGetRankStat)(const WeaveResultsToplistItem *item)
Function which returns the value of the statistic by which toplist items are ranked.
void XLALWeaveResultsToplistDestroy(WeaveResultsToplist *toplist)
Free results toplist.
const REAL4 *(* WeaveResultsToplistRankingStats)(const WeaveSemiResults *semi_res)
Function which returns pointer to array of statistics by which toplist items are ranked.
WeaveResultsToplist * XLALWeaveResultsToplistCreate(const size_t nspins, WeaveStatisticsParams *statistics_params, const char *stat_name, const char *stat_desc, const UINT4 toplist_limit, WeaveResultsToplistRankingStats toplist_rank_stats_fcn, WeaveResultsToplistItemGetRankStat toplist_item_get_rank_stat_fcn, WeaveResultsToplistItemSetRankStat toplist_item_set_rank_stat_fcn)
Create results toplist.
int XLALWeaveResultsToplistReadAppend(FITSFile *file, WeaveResultsToplist *toplist)
Read results from a FITS file and append to existing results toplist.
int XLALWeaveResultsToplistCompare(BOOLEAN *equal, const WeaveSetupData *setup, const BOOLEAN sort_by_semi_phys, const UINT4 round_param_to_dp, const UINT4 round_param_to_sf, const REAL8 unmatched_item_tol, const REAL8 param_tol_mism, const VectorComparison *result_tol, const UINT4 toplist_compare_limit, const WeaveResultsToplist *toplist_1, const WeaveResultsToplist *toplist_2)
Compare two results toplists and return whether they are equal.
void(* WeaveResultsToplistItemSetRankStat)(WeaveResultsToplistItem *item, const REAL4 value)
Function which sets the value of the statistic by which toplist items are ranked.
int XLALWeaveResultsToplistWrite(FITSFile *file, const WeaveResultsToplist *toplist)
Write results toplist to a FITS file.
int XLALWeaveResultsToplistCompletionLoop(WeaveResultsToplist *toplist)
Compute all missing 'extra' (non-toplist-ranking) statistics for all toplist entries.
Module which handles the setup data.
struct tagFITSFile FITSFile
Representation of a FITS file.
#define PULSAR_MAX_SPINS
maximal number of spin-parameters (Freq + spindowns) we can handle
Struct holding the results of comparing two floating-point vectors (real-valued or complex),...
REAL8 semi_fkdot[PULSAR_MAX_SPINS]
Physical frequency and spindowns of semicoherent template.
UINT8 * coh_index
Index of coherent templates (only needed for per-segment output)
REAL8 * coh_fkdot[PULSAR_MAX_SPINS]
Physical frequency and spindowns of coherent templates (only needed for per-segment output)
REAL8 * coh_delta
Physical declination of coherent templates (only needed for per-segment output)
REAL8 semi_alpha
Physical right ascension of semicoherent template.
REAL8 semi_delta
Physical declination of semicoherent template.
REAL8 * coh_alpha
Physical right ascension of coherent templates (only needed for per-segment output)
UINT8 serial
Serial number of template.