Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALApps 10.1.0.1-b246709
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
series.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Duncan Brown, Stephen Fairhurst
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 SERIES_H_
21#define SERIES_H_
22
23#include <lal/LALDatatypes.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29typedef enum { Time, Freq, Trans } domain;
30
31#define IS_TIME( domain_ ) ( domain_ == Time )
32#define IS_FREQ( domain_ ) ( ( domain_ == Freq ) || ( domain_ == Trans ) )
33#define IS_TRANS( domain_ ) ( domain_ == Trans )
34
35struct series
36{
37 char *name;
41 int type;
42 double step;
43 float f0;
44 const char *unit;
45 size_t size;
46 float *data;
47 double *ddata;
48};
49
50double epoch_diff( const LIGOTimeGPS *t2, const LIGOTimeGPS *t1 );
51void epoch_add( LIGOTimeGPS *t1, LIGOTimeGPS *t0, double dt );
52int write_ilwd( const char *fname, const struct series *ser );
53struct FrameH *fr_add_proc_data( struct FrameH *frame, const struct series *ser );
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif
void epoch_add(LIGOTimeGPS *t1, LIGOTimeGPS *t0, double dt)
Definition: series.c:39
double epoch_diff(const LIGOTimeGPS *t2, const LIGOTimeGPS *t1)
Definition: series.c:29
domain
Definition: series.h:29
@ Time
Definition: series.h:29
@ Freq
Definition: series.h:29
@ Trans
Definition: series.h:29
int write_ilwd(const char *fname, const struct series *ser)
Definition: series.c:50
struct FrameH * fr_add_proc_data(struct FrameH *frame, const struct series *ser)
Definition: series.c:132
CHAR fname[256]
Definition: spininj.c:211
Definition: series.h:36
const char * unit
Definition: series.h:44
char * name
Definition: series.h:37
float f0
Definition: series.h:43
float * data
Definition: series.h:46
int type
Definition: series.h:41
size_t size
Definition: series.h:45
double step
Definition: series.h:42
double * ddata
Definition: series.h:47
LIGOTimeGPS tbeg
Definition: series.h:38
domain dom
Definition: series.h:40
LIGOTimeGPS tend
Definition: series.h:39