LALSimulation  5.4.0.1-fe68b98
Header LALSimSphHarmSeries.h

Detailed Description

Routines for manipulating spherical harmonic time- and frequency-series.

Data Structures

struct  SphHarmTimeSeries
 Structure to carry a collection of spherical harmonic modes in COMPLEX16 time series. More...
 
struct  SphHarmPolarTimeSeries
 
struct  SphHarmFrequencySeries
 

SphHarmTimeSeries Routines

SphHarmTimeSeriesXLALSphHarmTimeSeriesAddMode (SphHarmTimeSeries *appended, const COMPLEX16TimeSeries *inmode, UINT4 l, INT4 m)
 Prepend a node to a linked list of SphHarmTimeSeries, or create a new head. More...
 
void XLALSphHarmTimeSeriesSetTData (SphHarmTimeSeries *ts, REAL8Sequence *tdata)
 Set the tdata member for all nodes in the list. More...
 
REAL8SequenceXLALSphHarmTimeSeriesGetTData (SphHarmTimeSeries *ts)
 Get the tdata member for nodes in the list. More...
 
void XLALDestroySphHarmTimeSeries (SphHarmTimeSeries *ts)
 Delete list from current pointer to the end of the list. More...
 
COMPLEX16TimeSeriesXLALSphHarmTimeSeriesGetMode (SphHarmTimeSeries *ts, UINT4 l, INT4 m)
 Get the time series of a waveform's (l,m) spherical harmonic mode from a SphHarmTimeSeries linked list. More...
 
UINT4 XLALSphHarmTimeSeriesGetMaxL (SphHarmTimeSeries *ts)
 Get the largest l index of any mode in the SphHarmTimeSeries linked list. More...
 
UINT4 XLALSphHarmTimeSeriesGetMinL (SphHarmTimeSeries *ts)
 Get the smallest l index of any mode in the SphHarmTimeSeries linked list. More...
 
SphHarmTimeSeriesXLALResizeSphHarmTimeSeries (SphHarmTimeSeries *ts, int first, size_t length)
 For every (l,m) node in the SphHarmTimeSeries linked list, call XLALResizeCOMPLEX16TimeSeries(ts->mode, first, length) More...
 
SphHarmTimeSeriesXLALSphHarmTimeSeriesFromSphHarmFrequencySeriesDataAndPSD (SphHarmFrequencySeries *hlms, COMPLEX16FrequencySeries *data, COMPLEX16FrequencySeries *psd)
 

SphHarmPolarTimeSeries Routines

SphHarmPolarTimeSeriesXLALSphHarmPolarTimeSeriesAddMode (SphHarmPolarTimeSeries *appended, const REAL8TimeSeries *inAmpl, const REAL8TimeSeries *inphase, UINT4 l, INT4 m)
 Prepend a node to a linked list of SphHarmPolarTimeSeries, or create a new head. More...
 
void XLALSphHarmPolarTimeSeriesSetTData (SphHarmPolarTimeSeries *ts, REAL8Sequence *tdata)
 Set the tdata member for all nodes in the list. More...
 
REAL8SequenceXLALSphHarmPolarTimeSeriesGetTData (SphHarmPolarTimeSeries *ts)
 Get the tdata member for nodes in the list. More...
 
void XLALDestroySphHarmPolarTimeSeries (SphHarmPolarTimeSeries *ts)
 Delete list from current pointer to the end of the list. More...
 
REAL8TimeSeriesXLALSphHarmPolarTimeSeriesGetModeAmplitude (SphHarmPolarTimeSeries *ts, UINT4 l, INT4 m)
 Get the time series of a waveform's (l,m) spherical harmonic mode amplitude from a SphHarmPolarTimeSeries linked list. More...
 
REAL8TimeSeriesXLALSphHarmPolarTimeSeriesGetModePhase (SphHarmPolarTimeSeries *ts, UINT4 l, INT4 m)
 Get the time series of a waveform's (l,m) spherical harmonic mode phase from a SphHarmPolarTimeSeries linked list. More...
 
UINT4 XLALSphHarmPolarTimeSeriesGetMaxL (SphHarmPolarTimeSeries *ts)
 Get the largest l index of any mode in the SphHarmTimeSeries linked list. More...
 
SphHarmPolarTimeSeriesXLALResizeSphHarmPolarTimeSeries (SphHarmPolarTimeSeries *ts, int first, size_t length)
 For every (l,m) node in the SphHarmPolarTimeSeries linked list, call XLALResizeREAL8TimeSeries(ts->ampl, first, length) and XLALResizeREAL8TimeSeries(ts->phase, first, length) More...
 
SphHarmPolarTimeSeriesXLALCutSphHarmPolarTimeSeries (SphHarmPolarTimeSeries *ts, int first, size_t length)
 Create a new SphHarmPolarTimeSeries linked listby extracting a section of an existing SphHarmPolarTimeSeries linked list. More...
 

SphHarmFrequencySeries Routines

SphHarmFrequencySeriesXLALSphHarmFrequencySeriesFromSphHarmTimeSeries (SphHarmTimeSeries *hlms_TD)
 Create a SphHarmFrequencySeries from a SphHarmTimeSeries by performing an FFT on each mode in the SphHarmTimeSeries. More...
 
SphHarmFrequencySeriesXLALSphHarmFrequencySeriesAddMode (SphHarmFrequencySeries *appended, const COMPLEX16FrequencySeries *inmode, UINT4 l, INT4 m)
 Prepend a node to a linked list of SphHarmFrequencySeries, or create a new head. More...
 
void XLALSphHarmFrequencySeriesSetFData (SphHarmFrequencySeries *ts, REAL8Sequence *fdata)
 Set the tdata member for all nodes in the list. More...
 
REAL8SequenceXLALSphHarmFrequencySeriesGetFData (SphHarmFrequencySeries *ts)
 Get the fdata member. More...
 
void XLALDestroySphHarmFrequencySeries (SphHarmFrequencySeries *ts)
 Delete list from current pointer to the end of the list. More...
 
COMPLEX16FrequencySeriesXLALSphHarmFrequencySeriesGetMode (SphHarmFrequencySeries *ts, UINT4 l, INT4 m)
 Get the time series of a waveform's (l,m) spherical harmonic mode from a SphHarmFrequencySeries linked list. More...
 
UINT4 XLALSphHarmFrequencySeriesGetMaxL (SphHarmFrequencySeries *ts)
 Get the largest l index of any mode in the SphHarmFrequencySeries linked list. More...
 

Function Documentation

◆ XLALSphHarmTimeSeriesAddMode()

SphHarmTimeSeries* XLALSphHarmTimeSeriesAddMode ( SphHarmTimeSeries appended,
const COMPLEX16TimeSeries inmode,
UINT4  l,
INT4  m 
)

Prepend a node to a linked list of SphHarmTimeSeries, or create a new head.

Parameters
appendedLinked list to be prepended
inmodeTime series of h_lm mode being prepended
ll index of h_lm mode being prepended
mm index of h_lm mode being prepended

Definition at line 48 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesSetTData()

void XLALSphHarmTimeSeriesSetTData ( SphHarmTimeSeries ts,
REAL8Sequence tdata 
)

Set the tdata member for all nodes in the list.

Parameters
tsLinked list to be prepended
tdataseries of time data

Definition at line 98 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesGetTData()

REAL8Sequence* XLALSphHarmTimeSeriesGetTData ( SphHarmTimeSeries ts)

Get the tdata member for nodes in the list.

Parameters
tsGet tdata from this list

Definition at line 112 of file LALSimSphHarmSeries.c.

◆ XLALDestroySphHarmTimeSeries()

void XLALDestroySphHarmTimeSeries ( SphHarmTimeSeries ts)

Delete list from current pointer to the end of the list.

Parameters
tsHead of linked list to destroy

Definition at line 123 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesGetMode()

COMPLEX16TimeSeries* XLALSphHarmTimeSeriesGetMode ( SphHarmTimeSeries ts,
UINT4  l,
INT4  m 
)

Get the time series of a waveform's (l,m) spherical harmonic mode from a SphHarmTimeSeries linked list.

Returns a pointer to its COMPLEX16TimeSeries

Parameters
tslinked list to extract mode from
ll index of h_lm mode to get
mm index of h_lm mode to get

Definition at line 145 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesGetMaxL()

UINT4 XLALSphHarmTimeSeriesGetMaxL ( SphHarmTimeSeries ts)

Get the largest l index of any mode in the SphHarmTimeSeries linked list.

Definition at line 164 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesGetMinL()

UINT4 XLALSphHarmTimeSeriesGetMinL ( SphHarmTimeSeries ts)

Get the smallest l index of any mode in the SphHarmTimeSeries linked list.

Definition at line 178 of file LALSimSphHarmSeries.c.

◆ XLALResizeSphHarmTimeSeries()

SphHarmTimeSeries* XLALResizeSphHarmTimeSeries ( SphHarmTimeSeries ts,
int  first,
size_t  length 
)

For every (l,m) node in the SphHarmTimeSeries linked list, call XLALResizeCOMPLEX16TimeSeries(ts->mode, first, length)

The TimeSeries of each (l,m) mode will have the given length, and its contents will consist of that part of the original time series that started at sample first. If first is negative, then the new time series is padded at the start by that many samples. The time series' epoch is adjusted appropriately.

Parameters
tsSphHarmTimeSeries to be resized
firstindex of first time sample to be copied over
lengthlength to resize all COMPLEX16TimeSeries to

Definition at line 199 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmTimeSeriesFromSphHarmFrequencySeriesDataAndPSD()

SphHarmTimeSeries* XLALSphHarmTimeSeriesFromSphHarmFrequencySeriesDataAndPSD ( SphHarmFrequencySeries hlms,
COMPLEX16FrequencySeries data,
COMPLEX16FrequencySeries psd 
)

Definition at line 214 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesAddMode()

SphHarmPolarTimeSeries* XLALSphHarmPolarTimeSeriesAddMode ( SphHarmPolarTimeSeries appended,
const REAL8TimeSeries inAmpl,
const REAL8TimeSeries inphase,
UINT4  l,
INT4  m 
)

Prepend a node to a linked list of SphHarmPolarTimeSeries, or create a new head.

Parameters
appendedLinked list to be prepended
inAmplTime series of |h_lm| mode amplitude being prepended
inphaseTime series of phi_lm mode phase being prepended
ll index of h_lm mode being prepended
mm index of h_lm mode being prepended

Definition at line 273 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesSetTData()

void XLALSphHarmPolarTimeSeriesSetTData ( SphHarmPolarTimeSeries ts,
REAL8Sequence tdata 
)

Set the tdata member for all nodes in the list.

Parameters
tsLinked list to be prepended
tdataseries of time data

Definition at line 335 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesGetTData()

REAL8Sequence* XLALSphHarmPolarTimeSeriesGetTData ( SphHarmPolarTimeSeries ts)

Get the tdata member for nodes in the list.

Parameters
tsGet tdata from this list

Definition at line 350 of file LALSimSphHarmSeries.c.

◆ XLALDestroySphHarmPolarTimeSeries()

void XLALDestroySphHarmPolarTimeSeries ( SphHarmPolarTimeSeries ts)

Delete list from current pointer to the end of the list.

Parameters
tsHead of linked list to destroy

Definition at line 361 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesGetModeAmplitude()

REAL8TimeSeries* XLALSphHarmPolarTimeSeriesGetModeAmplitude ( SphHarmPolarTimeSeries ts,
UINT4  l,
INT4  m 
)

Get the time series of a waveform's (l,m) spherical harmonic mode amplitude from a SphHarmPolarTimeSeries linked list.

Returns a pointer to its REAL8TimeSeries

Parameters
tslinked list to extract mode from
ll index of h_lm mode to get
mm index of h_lm mode to get

Definition at line 386 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesGetModePhase()

REAL8TimeSeries* XLALSphHarmPolarTimeSeriesGetModePhase ( SphHarmPolarTimeSeries ts,
UINT4  l,
INT4  m 
)

Get the time series of a waveform's (l,m) spherical harmonic mode phase from a SphHarmPolarTimeSeries linked list.

Returns a pointer to its REAL8TimeSeries

Parameters
tslinked list to extract mode from
ll index of h_lm mode to get
mm index of h_lm mode to get

Definition at line 406 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmPolarTimeSeriesGetMaxL()

UINT4 XLALSphHarmPolarTimeSeriesGetMaxL ( SphHarmPolarTimeSeries ts)

Get the largest l index of any mode in the SphHarmTimeSeries linked list.

Definition at line 426 of file LALSimSphHarmSeries.c.

◆ XLALResizeSphHarmPolarTimeSeries()

SphHarmPolarTimeSeries* XLALResizeSphHarmPolarTimeSeries ( SphHarmPolarTimeSeries ts,
int  first,
size_t  length 
)

For every (l,m) node in the SphHarmPolarTimeSeries linked list, call XLALResizeREAL8TimeSeries(ts->ampl, first, length) and XLALResizeREAL8TimeSeries(ts->phase, first, length)

The TimeSeries of each (l,m) mode will have the given length, and its contents will consist of that part of the original time series that started at sample first. If first is negative, then the new time series is padded at the start by that many samples. The time series' epoch is adjusted appropriately.

Parameters
tsSphHarmTimeSeries to be resized
firstindex of first time sample to be copied over
lengthlength to resize all COMPLEX16TimeSeries to

Definition at line 448 of file LALSimSphHarmSeries.c.

◆ XLALCutSphHarmPolarTimeSeries()

SphHarmPolarTimeSeries* XLALCutSphHarmPolarTimeSeries ( SphHarmPolarTimeSeries ts,
int  first,
size_t  length 
)

Create a new SphHarmPolarTimeSeries linked listby extracting a section of an existing SphHarmPolarTimeSeries linked list.

For every (l,m) node in the SphHarmPolarTimeSeries linked list, call XLALCutREAL8TimeSeries(ts->ampl, first, length) and XLALCutREAL8TimeSeries(ts->phase, first, length)

The TimeSeries of each (l,m) mode will have the given length, and its contents will consist of that part of the original time series that started at sample first. If first is negative, then the new time series is padded at the start by that many samples. The time series' epoch is adjusted appropriately.

Parameters
tsnew SphHarmTimeSeries to be filled in
firstindex of first time sample to be copied over
lengthlength to cut all COMPLEX16TimeSeries to

Definition at line 478 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesFromSphHarmTimeSeries()

SphHarmFrequencySeries* XLALSphHarmFrequencySeriesFromSphHarmTimeSeries ( SphHarmTimeSeries hlms_TD)

Create a SphHarmFrequencySeries from a SphHarmTimeSeries by performing an FFT on each mode in the SphHarmTimeSeries.

Parameters
hlms_TDSphHarmTimeSeries to be FFT'd

Definition at line 537 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesAddMode()

SphHarmFrequencySeries* XLALSphHarmFrequencySeriesAddMode ( SphHarmFrequencySeries appended,
const COMPLEX16FrequencySeries inmode,
UINT4  l,
INT4  m 
)

Prepend a node to a linked list of SphHarmFrequencySeries, or create a new head.

Parameters
appendedLinked list to be prepended
inmodeTime series of h_lm mode being prepended
ll index of h_lm mode being prepended
mm index of h_lm mode being prepended

Definition at line 577 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesSetFData()

void XLALSphHarmFrequencySeriesSetFData ( SphHarmFrequencySeries ts,
REAL8Sequence fdata 
)

Set the tdata member for all nodes in the list.

Parameters
tsLinked list to be prepended
fdataseries of frequency data

Definition at line 627 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesGetFData()

REAL8Sequence* XLALSphHarmFrequencySeriesGetFData ( SphHarmFrequencySeries ts)

Get the fdata member.

Parameters
tsGet tdata from this list

Definition at line 641 of file LALSimSphHarmSeries.c.

◆ XLALDestroySphHarmFrequencySeries()

void XLALDestroySphHarmFrequencySeries ( SphHarmFrequencySeries ts)

Delete list from current pointer to the end of the list.

Parameters
tsHead of linked list to destroy

Definition at line 652 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesGetMode()

COMPLEX16FrequencySeries* XLALSphHarmFrequencySeriesGetMode ( SphHarmFrequencySeries ts,
UINT4  l,
INT4  m 
)

Get the time series of a waveform's (l,m) spherical harmonic mode from a SphHarmFrequencySeries linked list.

Returns a pointer to its COMPLEX16FrequencySeries

Parameters
tslinked list to extract mode from
ll index of h_lm mode to get
mm index of h_lm mode to get

Definition at line 674 of file LALSimSphHarmSeries.c.

◆ XLALSphHarmFrequencySeriesGetMaxL()

UINT4 XLALSphHarmFrequencySeriesGetMaxL ( SphHarmFrequencySeries ts)

Get the largest l index of any mode in the SphHarmFrequencySeries linked list.

Definition at line 693 of file LALSimSphHarmSeries.c.