Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Header SuperskyMetrics.h

Detailed Description

Compute the supersky metrics and coordinate transforms of [29] and [32] .

Author
Karl Wette

Prototypes

SuperskyMetricsXLALComputeSuperskyMetrics (const SuperskyMetricType type, const size_t spindowns, const LIGOTimeGPS *ref_time, const LALSegList *segments, const double fiducial_freq, const MultiLALDetector *detectors, const MultiNoiseFloor *detector_weights, const DetectorMotionType detector_motion, const EphemerisData *ephemerides)
 Compute the supersky metrics, which are returned in a SuperskyMetrics struct. More...
 
SuperskyMetricsXLALCopySuperskyMetrics (const SuperskyMetrics *metrics)
 Copy a SuperskyMetrics struct. More...
 
void XLALDestroySuperskyMetrics (SuperskyMetrics *metrics)
 Destroy a SuperskyMetrics struct. More...
 
int XLALFITSWriteSuperskyMetrics (FITSFile *file, const SuperskyMetrics *metrics)
 Write a SuperskyMetrics struct to a FITS file. More...
 
int XLALFITSReadSuperskyMetrics (FITSFile *file, SuperskyMetrics **metrics)
 Read a SuperskyMetrics struct from a FITS file. More...
 
int XLALSuperskyMetricsDimensions (const SuperskyMetrics *metrics, size_t *spindowns)
 Return dimensions of the supersky metrics. More...
 
int XLALScaleSuperskyMetricsFiducialFreq (SuperskyMetrics *metrics, const double new_fiducial_freq)
 Scale all supersky metrics and their coordinate transform data to a new fiducial frequency. More...
 
int XLALEqualizeReducedSuperskyMetricsFreqSpacing (SuperskyMetrics *metrics, const double coh_max_mismatch, const double semi_max_mismatch)
 Project and rescale the reduced supersky metrics in the frequency dimension, such that all reduced supersky metrics have the same frequency spacing for the given maximum mismatches. More...
 
int XLALSetPhysicalPointSuperskyRefTime (PulsarDopplerParams *out_phys, const SuperskyTransformData *rssky_transf)
 Set the reference time of a physical point to that of the reduced supersky coordinates. More...
 
int XLALConvertPhysicalToSuperskyPoint (gsl_vector *out_rssky, const PulsarDopplerParams *in_phys, const SuperskyTransformData *rssky_transf)
 Convert a point from physical to supersky coordinates. More...
 
int XLALConvertSuperskyToPhysicalPoint (PulsarDopplerParams *out_phys, const gsl_vector *in_rssky, const gsl_vector *ref_rssky, const SuperskyTransformData *rssky_transf)
 Convert a point from supersky to physical coordinates. More...
 
int XLALConvertSuperskyToSuperskyPoint (gsl_vector *out_rssky, const SuperskyTransformData *out_rssky_transf, const gsl_vector *in_rssky, const gsl_vector *ref_rssky, const SuperskyTransformData *in_rssky_transf)
 Convert a point between supersky coordinates. More...
 
int XLALConvertPhysicalToSuperskyPoints (gsl_matrix **out_rssky, const gsl_matrix *in_phys, const SuperskyTransformData *rssky_transf)
 Convert a set of points from physical to supersky coordinates. More...
 
int XLALConvertSuperskyToPhysicalPoints (gsl_matrix **out_phys, const gsl_matrix *in_rssky, const SuperskyTransformData *rssky_transf)
 Convert a set of points from supersky to physical coordinates. More...
 
int XLALSetSuperskyPhysicalSkyBounds (LatticeTiling *tiling, gsl_matrix *rssky_metric, SuperskyTransformData *rssky_transf, const double alpha1, const double alpha2, const double delta1, const double delta2)
 Set parameter-space bounds on the physical sky position \( (\alpha, \delta) \) for a lattice tiling using the reduced supersky metric. More...
 
int XLALSetSuperskyEqualAreaSkyBounds (LatticeTiling *tiling, const gsl_matrix *rssky_metric, const double max_mismatch, const UINT4 patch_count, const UINT4 patch_index)
 Divide the reduced supersky parameter space into patch_count equal-area patches, and set parameter-space bounds on the reduced supersky coordinates \( (n_a,n_b) \) for the patch indexed by patch_index. More...
 
int XLALSetSuperskyPhysicalSpinBound (LatticeTiling *tiling, const SuperskyTransformData *rssky_transf, const size_t s, const double bound1, const double bound2)
 Set parameter-space bounds on the physical frequency/spindowns \( f^{(s)} \) for a lattice tiling using the reduced supersky metric. More...
 
int XLALSetSuperskyPhysicalSpinBoundPadding (LatticeTiling *tiling, const SuperskyTransformData *rssky_transf, const size_t s, const bool padding)
 Set parameter-space bound padding on the physical frequency/spindowns \( f^{(s)} \) for a lattice tiling using the reduced supersky metric. More...
 
int XLALRegisterSuperskyLatticePhysicalRangeCallback (LatticeTiling *tiling, const SuperskyTransformData *rssky_transf, const PulsarDopplerParams **min_phys, const PulsarDopplerParams **max_phys)
 Register a lattice tiling callback function which computes the physical range covered by a reduced supersky lattice tiling. More...
 
int XLALRegisterSuperskyLatticeSuperskyRangeCallback (LatticeTiling *tiling, const SuperskyTransformData *rssky_transf, const SuperskyTransformData *rssky2_transf, const gsl_vector **min_rssky2, const gsl_vector **max_rssky2)
 Register a lattice tiling callback function which computes the range covered by a reduced supersky lattice tiling in another set of reduced supersky coordinates. More...
 
int XLALSetSuperskyRangeBounds (LatticeTiling *tiling, const gsl_vector *min_rssky, const gsl_vector *max_rssky)
 Set parameter-space bounds on an entire lattice tiling given minimum and maximum ranges in reduced supersky coordinates. More...
 

Data Structures

struct  SuperskyMetrics
 Computed supersky metrics, returned by XLALComputeSuperskyMetrics(). More...
 

Enumerations

enum  SuperskyMetricType { SUPERSKY_METRIC_TYPE , MAX_METRIC_TYPE }
 Type of supersky metric to compute. More...
 

Function Documentation

◆ XLALComputeSuperskyMetrics()

SuperskyMetrics * XLALComputeSuperskyMetrics ( const SuperskyMetricType  type,
const size_t  spindowns,
const LIGOTimeGPS ref_time,
const LALSegList segments,
const double  fiducial_freq,
const MultiLALDetector detectors,
const MultiNoiseFloor detector_weights,
const DetectorMotionType  detector_motion,
const EphemerisData ephemerides 
)

Compute the supersky metrics, which are returned in a SuperskyMetrics struct.

Parameters
[in]typeType of supersky metric to compute
[in]spindownsNumber of frequency+spindown coordinates
[in]ref_timeReference time for the metrics
[in]segmentsList of segments to compute metrics over
[in]fiducial_freqFiducial frequency for sky-position coordinates
[in]detectorsList of detectors to average metrics over
[in]detector_weightsWeights used to combine single-detector metrics (default: unit weights)
[in]detector_motionWhich detector motion to use
[in]ephemeridesEarth/Sun ephemerides

Definition at line 587 of file SuperskyMetrics.c.

◆ XLALCopySuperskyMetrics()

SuperskyMetrics * XLALCopySuperskyMetrics ( const SuperskyMetrics metrics)

Copy a SuperskyMetrics struct.

Parameters
[in]metricsSupersky metrics struct

Definition at line 703 of file SuperskyMetrics.c.

◆ XLALDestroySuperskyMetrics()

void XLALDestroySuperskyMetrics ( SuperskyMetrics metrics)

Destroy a SuperskyMetrics struct.

Parameters
[in]metricsSupersky metrics struct

Definition at line 742 of file SuperskyMetrics.c.

◆ XLALFITSWriteSuperskyMetrics()

int XLALFITSWriteSuperskyMetrics ( FITSFile file,
const SuperskyMetrics metrics 
)

Write a SuperskyMetrics struct to a FITS file.

Parameters
[in]fileFITS file pointer
[in]metricsSupersky metrics struct

Definition at line 778 of file SuperskyMetrics.c.

◆ XLALFITSReadSuperskyMetrics()

int XLALFITSReadSuperskyMetrics ( FITSFile file,
SuperskyMetrics **  metrics 
)

Read a SuperskyMetrics struct from a FITS file.

Parameters
[in]fileFITS file pointer
[out]metricsSupersky metrics struct

Definition at line 828 of file SuperskyMetrics.c.

◆ XLALSuperskyMetricsDimensions()

int XLALSuperskyMetricsDimensions ( const SuperskyMetrics metrics,
size_t *  spindowns 
)

Return dimensions of the supersky metrics.

Parameters
[in]metricsSupersky metrics struct
[out]spindownsNumber of spindown dimensions

Definition at line 892 of file SuperskyMetrics.c.

◆ XLALScaleSuperskyMetricsFiducialFreq()

int XLALScaleSuperskyMetricsFiducialFreq ( SuperskyMetrics metrics,
const double  new_fiducial_freq 
)

Scale all supersky metrics and their coordinate transform data to a new fiducial frequency.

Parameters
[in]metricsSupersky metrics struct
[in]new_fiducial_freqNew fiducial frequency

Definition at line 943 of file SuperskyMetrics.c.

◆ XLALEqualizeReducedSuperskyMetricsFreqSpacing()

int XLALEqualizeReducedSuperskyMetricsFreqSpacing ( SuperskyMetrics metrics,
const double  coh_max_mismatch,
const double  semi_max_mismatch 
)

Project and rescale the reduced supersky metrics in the frequency dimension, such that all reduced supersky metrics have the same frequency spacing for the given maximum mismatches.

Parameters
[in]metricsSupersky metrics struct
[in]coh_max_mismatchMaximum coherent mismatch
[in]semi_max_mismatchMaximum semicoherent mismatch

Definition at line 968 of file SuperskyMetrics.c.

◆ XLALSetPhysicalPointSuperskyRefTime()

int XLALSetPhysicalPointSuperskyRefTime ( PulsarDopplerParams out_phys,
const SuperskyTransformData *  rssky_transf 
)

Set the reference time of a physical point to that of the reduced supersky coordinates.

Parameters
[out]out_physOutput point in physical coordinates
[in]rssky_transfReduced supersky coordinate transform data

Definition at line 1029 of file SuperskyMetrics.c.

◆ XLALConvertPhysicalToSuperskyPoint()

int XLALConvertPhysicalToSuperskyPoint ( gsl_vector *  out_rssky,
const PulsarDopplerParams in_phys,
const SuperskyTransformData *  rssky_transf 
)

Convert a point from physical to supersky coordinates.

Parameters
[out]out_rsskyOutput point in supersky coordinates
[in]in_physInput point in physical coordinates
[in]rssky_transfReduced supersky coordinate transform data

Definition at line 1106 of file SuperskyMetrics.c.

◆ XLALConvertSuperskyToPhysicalPoint()

int XLALConvertSuperskyToPhysicalPoint ( PulsarDopplerParams out_phys,
const gsl_vector *  in_rssky,
const gsl_vector *  ref_rssky,
const SuperskyTransformData *  rssky_transf 
)

Convert a point from supersky to physical coordinates.

Parameters
[out]out_physOutput point in physical coordinates
[in]in_rsskyInput point in supersky coordinates
ref_rssky[in,optional] Reference point in supersky coordinates
[in]rssky_transfReduced supersky coordinate transform data

Definition at line 1174 of file SuperskyMetrics.c.

◆ XLALConvertSuperskyToSuperskyPoint()

int XLALConvertSuperskyToSuperskyPoint ( gsl_vector *  out_rssky,
const SuperskyTransformData *  out_rssky_transf,
const gsl_vector *  in_rssky,
const gsl_vector *  ref_rssky,
const SuperskyTransformData *  in_rssky_transf 
)

Convert a point between supersky coordinates.

The vectors out_rssky and in_rssky may be the same.

Parameters
[out]out_rsskyOutput point in supersky coordinates
[in]out_rssky_transfOutput reduced supersky coordinate transform data
[in]in_rsskyInput point in supersky coordinates
ref_rssky[in,optional] Reference point in supersky coordinates
[in]in_rssky_transfInput reduced supersky coordinate transform data

Definition at line 1238 of file SuperskyMetrics.c.

◆ XLALConvertPhysicalToSuperskyPoints()

int XLALConvertPhysicalToSuperskyPoints ( gsl_matrix **  out_rssky,
const gsl_matrix *  in_phys,
const SuperskyTransformData *  rssky_transf 
)

Convert a set of points from physical to supersky coordinates.

Parameters
[out]out_rsskyColumns are output point in supersky coordinates
[in]in_physColumns are input point in physical coordinates
[in]rssky_transfReduced supersky coordinate transform data

Definition at line 1264 of file SuperskyMetrics.c.

◆ XLALConvertSuperskyToPhysicalPoints()

int XLALConvertSuperskyToPhysicalPoints ( gsl_matrix **  out_phys,
const gsl_matrix *  in_rssky,
const SuperskyTransformData *  rssky_transf 
)

Convert a set of points from supersky to physical coordinates.

Parameters
[out]out_physColumns are output point in physical coordinates
[in]in_rsskyColumns are input point in supersky coordinates
[in]rssky_transfReduced supersky coordinate transform data

Definition at line 1310 of file SuperskyMetrics.c.

◆ XLALSetSuperskyPhysicalSkyBounds()

int XLALSetSuperskyPhysicalSkyBounds ( LatticeTiling *  tiling,
gsl_matrix *  rssky_metric,
SuperskyTransformData *  rssky_transf,
const double  alpha1,
const double  alpha2,
const double  delta1,
const double  delta2 
)

Set parameter-space bounds on the physical sky position \( (\alpha, \delta) \) for a lattice tiling using the reduced supersky metric.

The metric and coordinate transform data must be supplied, since they will be transformed such that the physical sky region maps to a region in the reduced supersky coordinates \( (n_a,n_b) \) which may be covered by the lattice tiling.

Parameters
[in]tilingLattice tiling
[in,out]rssky_metricReduced supersky metric
[in,out]rssky_transfReduced supersky coordinate transform data
[in]alpha1First bound on sky position right ascension
[in]alpha2Second bound on sky position right ascension
[in]delta1First bound on sky position declination
[in]delta2Second bound on sky position declination

Definition at line 1459 of file SuperskyMetrics.c.

◆ XLALSetSuperskyEqualAreaSkyBounds()

int XLALSetSuperskyEqualAreaSkyBounds ( LatticeTiling *  tiling,
const gsl_matrix *  rssky_metric,
const double  max_mismatch,
const UINT4  patch_count,
const UINT4  patch_index 
)

Divide the reduced supersky parameter space into patch_count equal-area patches, and set parameter-space bounds on the reduced supersky coordinates \( (n_a,n_b) \) for the patch indexed by patch_index.

Parameters
[in]tilingLattice tiling
[in]rssky_metricReduced supersky metric
[in]max_mismatchMaximum prescribed mismatch
[in]patch_countNumber of equal-area patches to divide sky into
[in]patch_indexIndex of the patch for which to compute bounds

Definition at line 2109 of file SuperskyMetrics.c.

◆ XLALSetSuperskyPhysicalSpinBound()

int XLALSetSuperskyPhysicalSpinBound ( LatticeTiling *  tiling,
const SuperskyTransformData *  rssky_transf,
const size_t  s,
const double  bound1,
const double  bound2 
)

Set parameter-space bounds on the physical frequency/spindowns \( f^{(s)} \) for a lattice tiling using the reduced supersky metric.

Parameters
[in]tilingLattice tiling
[in]rssky_transfReduced supersky coordinate transform data
[in]sSpindown order; 0=frequency, 1=first spindown, etc.
[in]bound1First bound on frequency/spindown
[in]bound2Second bound on frequency/spindown

Definition at line 2372 of file SuperskyMetrics.c.

◆ XLALSetSuperskyPhysicalSpinBoundPadding()

int XLALSetSuperskyPhysicalSpinBoundPadding ( LatticeTiling *  tiling,
const SuperskyTransformData *  rssky_transf,
const size_t  s,
const bool  padding 
)

Set parameter-space bound padding on the physical frequency/spindowns \( f^{(s)} \) for a lattice tiling using the reduced supersky metric.

Parameters
[in]tilingLattice tiling
[in]rssky_transfReduced supersky coordinate transform data
[in]sSpindown order; 0=frequency, 1=first spindown, etc.
[in]paddingWhether bounds are padded

Definition at line 2418 of file SuperskyMetrics.c.

◆ XLALRegisterSuperskyLatticePhysicalRangeCallback()

int XLALRegisterSuperskyLatticePhysicalRangeCallback ( LatticeTiling *  tiling,
const SuperskyTransformData *  rssky_transf,
const PulsarDopplerParams **  min_phys,
const PulsarDopplerParams **  max_phys 
)

Register a lattice tiling callback function which computes the physical range covered by a reduced supersky lattice tiling.

Parameters
[in]tilingLattice tiling
[in]rssky_transfReduced supersky coordinate transform data
[out]min_physMinimum physical range
[out]max_physMaximum physical range

Definition at line 2508 of file SuperskyMetrics.c.

◆ XLALRegisterSuperskyLatticeSuperskyRangeCallback()

int XLALRegisterSuperskyLatticeSuperskyRangeCallback ( LatticeTiling *  tiling,
const SuperskyTransformData *  rssky_transf,
const SuperskyTransformData *  rssky2_transf,
const gsl_vector **  min_rssky2,
const gsl_vector **  max_rssky2 
)

Register a lattice tiling callback function which computes the range covered by a reduced supersky lattice tiling in another set of reduced supersky coordinates.

Parameters
[in]tilingLattice tiling
[in]rssky_transfReduced supersky coordinate transform data
[in]rssky2_transfOther reduced supersky coordinate transform data
[out]min_rssky2Minimum range of other reduced supersky coordinates
[out]max_rssky2Maximum range of other reduced supersky coordinates

Definition at line 2599 of file SuperskyMetrics.c.

◆ XLALSetSuperskyRangeBounds()

int XLALSetSuperskyRangeBounds ( LatticeTiling *  tiling,
const gsl_vector *  min_rssky,
const gsl_vector *  max_rssky 
)

Set parameter-space bounds on an entire lattice tiling given minimum and maximum ranges in reduced supersky coordinates.

Parameters
[in]tilingLattice tiling
[in]min_rsskyMinimum range of reduced supersky coordinates
[in]max_rsskyMaximum range of reduced supersky coordinates

Definition at line 2633 of file SuperskyMetrics.c.

Enumeration Type Documentation

◆ SuperskyMetricType

Type of supersky metric to compute.

Enumerator
SUPERSKY_METRIC_TYPE 

Metric for all-sky searches.

MAX_METRIC_TYPE 

Definition at line 51 of file SuperskyMetrics.h.