Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TwoSpect.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2010 -- 2014 Evan Goetz
3*
4* This program is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation; either version 2 of the License, or
7* (at your option) any later version.
8*
9* This program is distributed in the hope that it will be useful,
10* but WITHOUT ANY WARRANTY; without even the implied warranty of
11* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12* GNU General Public License for more details.
13*
14* You should have received a copy of the GNU General Public License
15* along with with program; see the file COPYING. If not, write to the
16* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17* MA 02110-1301 USA
18*/
19
20#ifndef __TWOSPECT_H__
21#define __TWOSPECT_H__
22
23#include <lal/RealFFT.h>
24
25#include "TwoSpectTypes.h"
26
29
30INT4Vector *detectLines_simple( const REAL4VectorAligned *TFdata, const ffdataStruct *ffdata, const UserInput_t *params );
31REAL4VectorSequence *trackLines( const INT4Vector *lines, const INT4Vector *binshifts, const REAL4 minfbin, const REAL4 df );
32INT4 cleanLines( REAL4VectorAligned *TFdata, const REAL4VectorAligned *background, const INT4Vector *lines, const UserInput_t *params, const gsl_rng *rng );
33INT4 makeSecondFFT( ffdataStruct *ffdata, REAL4VectorAligned *tfdata, const REAL4FFTPlan *plan );
34INT4 ffPlaneNoise( REAL4VectorAligned *aveNoise, const UserInput_t *params, const INT4Vector *sftexist, const REAL4VectorAligned *aveNoiseInTime, const REAL4VectorAligned *antweights, const REAL4VectorAligned *backgroundScaling, const REAL4FFTPlan *plan, const REAL4VectorAligned *expDistVals, const gsl_rng *rng, REAL8 *normalization );
35
36REAL4 avgTFdataBand( const REAL4VectorAligned *backgrnd, UINT4 numfbins, UINT4 numffts, UINT4 binmin, UINT4 binmax );
37REAL4 rmsTFdataBand( const REAL4VectorAligned *backgrnd, UINT4 numfbins, UINT4 numffts, UINT4 binmin, UINT4 binmax );
38REAL4VectorAligned *calcAveTFnoisePerFbinRatio( const REAL4VectorAligned *background, const REAL4VectorAligned *backgroundScaling, const UINT4 numffts );
39INT4 medianBackgroundBandInTime( REAL4VectorAligned *aveNoiseInTime, const REAL4VectorAligned *backgrnd, const INT4Vector *sftexist );
40
42
43INT4 readTwoSpectInputParams( UserInput_t *uvar, int argc, char *argv[] );
45
46#endif
#define IFO
REAL4VectorAligned * calcAveTFnoisePerFbinRatio(const REAL4VectorAligned *background, const REAL4VectorAligned *backgroundScaling, const UINT4 numffts)
Calculate the ratio of the average SFT noise to the mean of the average SFT noise.
Definition: TwoSpect.c:1398
REAL4 rmsTFdataBand(const REAL4VectorAligned *backgrnd, UINT4 numfbins, UINT4 numffts, UINT4 binmin, UINT4 binmax)
Determine the rms of the noise power in each frequency bin across the band.
Definition: TwoSpect.c:1541
void destroyffdata(ffdataStruct *data)
Free the frequency-frequency data structure.
Definition: TwoSpect.c:1209
INT4 medianBackgroundBandInTime(REAL4VectorAligned *aveNoiseInTime, const REAL4VectorAligned *backgrnd, const INT4Vector *sftexist)
Definition: TwoSpect.c:1566
INT4 makeSecondFFT(ffdataStruct *ffdata, REAL4VectorAligned *tfdata, const REAL4FFTPlan *plan)
Compute the second Fourier transform for TwoSpect.
Definition: TwoSpect.c:1435
REAL4VectorSequence * trackLines(const INT4Vector *lines, const INT4Vector *binshifts, const REAL4 minfbin, const REAL4 df)
Track the lines for the sky position.
Definition: TwoSpect.c:1318
MultiLALDetector * setupMultiLALDetector(LALStringVector *IFO)
Definition: TwoSpect.c:1761
INT4 cleanLines(REAL4VectorAligned *TFdata, const REAL4VectorAligned *background, const INT4Vector *lines, const UserInput_t *params, const gsl_rng *rng)
Test algorithm to clean lines.
Definition: TwoSpect.c:1359
INT4 ffPlaneNoise(REAL4VectorAligned *aveNoise, const UserInput_t *params, const INT4Vector *sftexist, const REAL4VectorAligned *aveNoiseInTime, const REAL4VectorAligned *antweights, const REAL4VectorAligned *backgroundScaling, const REAL4FFTPlan *plan, const REAL4VectorAligned *expDistVals, const gsl_rng *rng, REAL8 *normalization)
Measure of the average noise power in each 2nd FFT frequency bin.
Definition: TwoSpect.c:1596
INT4Vector * detectLines_simple(const REAL4VectorAligned *TFdata, const ffdataStruct *ffdata, const UserInput_t *params)
Line detection algorithm.
Definition: TwoSpect.c:1231
INT4 printREAL4Vector2File(const REAL4Vector *vector, const CHAR *directory, const CHAR *filename)
Print REAL4Vector values to an ASCII file.
Definition: TwoSpect.c:2087
REAL4 avgTFdataBand(const REAL4VectorAligned *backgrnd, UINT4 numfbins, UINT4 numffts, UINT4 binmin, UINT4 binmax)
Determine the average of the noise power in each frequency bin across the band.
Definition: TwoSpect.c:1507
ffdataStruct * createffdata(const UserInput_t *params)
Create a new frequency-frequency data structure for the TwoSpect analysis.
Definition: TwoSpect.c:1185
INT4 readTwoSpectInputParams(UserInput_t *uvar, int argc, char *argv[])
Definition: TwoSpect.c:1803
double REAL8
char CHAR
uint32_t UINT4
int32_t INT4
float REAL4
float data[BLOCKSIZE]
Definition: hwinject.c:360
char * directory
Definition: hwinject.c:363
array of detectors definitions 'LALDetector'