20#ifndef __TEMPLATES_H__
21#define __TEMPLATES_H__
23#include <lal/RealFFT.h>
31TwoSpectTemplateVector *
generateTwoSpectTemplateVector(
const REAL8 Pmin,
const REAL8 Pmax,
const REAL8 dfmin,
const REAL8 dfmax,
const REAL8 Tsft,
const REAL8 SFToverlap,
const REAL8 Tobs,
const UINT4 maxvectorlength,
const UINT4 minTemplateLength,
const UINT4 maxTemplateLength,
const UINT4 vectormathflag,
const BOOLEAN exactflag );
TwoSpectTemplateVector * createTwoSpectTemplateVector(const UINT4 numTemplates, const UINT4 templateLength)
Create a TwoSpectTemplateVector.
INT4 writeTwoSpectTemplateVector(const TwoSpectTemplateVector *vector, const CHAR *filename)
Write a TwoSpectTemplateVector to binary file.
void insertionSort_template(TwoSpectTemplate *output, const REAL4 weight, const INT4 pixelloc)
Insertion sort for the template weights.
TwoSpectTemplateVector * generateTwoSpectTemplateVector(const REAL8 Pmin, const REAL8 Pmax, const REAL8 dfmin, const REAL8 dfmax, const REAL8 Tsft, const REAL8 SFToverlap, const REAL8 Tobs, const UINT4 maxvectorlength, const UINT4 minTemplateLength, const UINT4 maxTemplateLength, const UINT4 vectormathflag, const BOOLEAN exactflag)
Generate a TwoSpectTemplateVector containing the template data.
void resetTwoSpectTemplate(TwoSpectTemplate *template)
Reset the values in a TwoSpectTemplate.
INT4 makeTemplate2(TwoSpectTemplate *output, const REAL8 offset, const REAL8 P, const REAL8 deltaf, const REAL8 Tsft, const REAL8 SFToverlap, const REAL8 Tobs, const UINT4 minTemplateLength, const UINT4 vectormathflag, const REAL4FFTPlan *plan)
Make an template based on FFT of sinc squared functions.
TwoSpectTemplate * createTwoSpectTemplate(const UINT4 length)
Allocate a new TwoSpectTemplate.
void destroyTwoSpectTemplateVector(TwoSpectTemplateVector *vector)
Free a TwoSpectTemplateVector.
TwoSpectTemplateVector * readTwoSpectTemplateVector(const CHAR *filename)
Read a TwoSpectTemplateVector from a binary file.
REAL8 sqsincxoverxsqminusone(const REAL8 x)
Calculate [sin(pi*x)/(pi*x)/(x^2-1)]^2.
REAL8 sincxoverxsqminusone(const REAL8 x)
Calculate sin(pi*x)/(pi*x)/(x^2-1)
void destroyTwoSpectTemplate(TwoSpectTemplate *template)
Free a TwoSpectTemplate.
INT4 makeTemplateGaussians2(TwoSpectTemplate *output, const REAL8 offset, const REAL8 P, const REAL8 deltaf, const REAL8 Tsft, const REAL8 SFToverlap, const REAL8 Tobs, const UINT4 minTemplateLength, const UINT4 vectormathflag)
Make an estimated template based on FFT of train of Gaussians.
INT4 convertTemplateForSpecificFbin(TwoSpectTemplate *output, const TwoSpectTemplate *input, const REAL8 freq, const UserInput_t *params)
Convert an arbitrary frequency bin template into a template for a specific frequency bin.
INT4 makeTemplateGaussians(TwoSpectTemplate *output, const candidate input, const UserInput_t *params)
Make an estimated template based on FFT of train of Gaussians.
INT4 makeTemplate(TwoSpectTemplate *output, const candidate intput, const UserInput_t *params, const REAL4FFTPlan *plan)
Make an template based on FFT of sinc squared functions.