Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-00ddc7f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
PrintFTSeries.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Jolien Creighton, John Whelan
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 _PRINTFTSERIES_H
21#define _PRINTFTSERIES_H
22
23#include <lal/LALStdlib.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29
30/**
31 * \defgroup PrintFTSeries_h Header PrintFTSeries.h
32 * \ingroup lal_support
33 * \author J. T. Whelan <jtwhelan@loyno.edu>
34 *
35 * \brief This is a simple utility to print time and frequency series into a file.
36 *
37 * ### Synopsis ###
38 *
39 * \code
40 * #include <lal/PrintFTSeries.h>
41 * \endcode
42 *
43 * Provides prototype information for the routines in \ref PrintTimeSeries_c and \ref PrintFrequencySeries_c.
44 *
45 */
46
47/**
48 * \defgroup PrintTimeSeries_c Module PrintTimeSeries.c
49 * \ingroup PrintFTSeries_h
50 *
51 * Print a <datatype>TimeSeries object into a
52 * file. For use in non-production and test code only.
53 *
54 * ### Description ###
55 *
56 * Each member of this family of functions prints the elements of
57 * \f$\langle\mbox{datatype}\rangle\f$\c TimeSeries into a file. Note:
58 * the file name is specified using a character string. This function is
59 * for debugging use only: its arguments do not conform to LAL standards
60 * so it should not be used in any real analysis codes.
61 *
62 * ### Notes ###
63 *
64 * This function's arguments do not conform to the LAL spec. For this
65 * reason it should only be used for debugging purposes in test
66 * functions, not in any production code.
67 *
68 * Additionally, since printf cannot handle INT8 as integers, the
69 * functions <tt>LALI8PrintTimeSeries()</tt> and
70 * <tt>LALU8PrintTimeSeries()</tt> use a typecast to REAL8 and are thus
71 * only valid for numbers between around \f$-10^{15}\f$ and \f$10^{15}\f$.
72 *
73 * The first five lines of the file are a header containing:
74 * <ol>
75 * <li> the name of the series</li>
76 * <li> the starting epoch </li>
77 * <li> the units expressed in terms of the basic SI units</li>
78 * <li> column labels</li>
79 * </ol>
80 * after which come the data, one per line.
81 *
82 * The output format is two or three tab-separated columns: the first
83 * column is the time corresponding to the row in question, in seconds
84 * after the series' starting epoch; for real and integer time
85 * series, the second column is the value of the series; for complex time
86 * series, the second column is the real part and the third the imaginary
87 * part of the value.
88 */
89/** @{ */
101/** @} */
102
103
104/**
105 * \defgroup PrintFrequencySeries_c Module PrintFrequencySeries.c
106 * \ingroup PrintFTSeries_h
107 *
108 * Print a <datatype>FrequencySeries object into a
109 * file. For use in non-production and test code only.
110 *
111 * ### Description ###
112 *
113 * Each member of this family of functions prints the elements of
114 * <datatype>FrequencySeries into a file.
115 * Note: the file name is specified using a character string. This
116 * function is for debugging use only: its arguments do not conform to
117 * LAL standards so it should not be used in any real analysis codes.
118 *
119 * ### Notes ###
120 *
121 * This function's arguments do not conform to the LAL spec. For this
122 * reason it should only be used for debugging purposes in test
123 * functions, not in any production code.
124 *
125 * Additionally, since printf cannot handle INT8 as integers, the
126 * functions <tt>LALI8PrintFrequencySeries()</tt> and
127 * <tt>LALU8PrintFrequencySeries()</tt> use a typecast to REAL8 and are
128 * thus only valid for numbers between around \f$-10^{15}\f$ and \f$10^{15}\f$.
129 *
130 * The first four lines of the file are a header containing:
131 * <ol>
132 * <li> the name of the series</li>
133 * <li> heterodyning information, if any</li>
134 * <li> the starting epoch, relative to the GPS reference epoch (1980 January 6)</li>
135 * <li> the units expressed in terms of the basic SI units</li>
136 * <li> column labels</li>
137 * </ol>
138 * after which come the data, one per line.
139 *
140 * The output format is two or three tab-separated columns: the first
141 * column is the frequency in hertz corresponding to the row in question;
142 * for real and integer frequency series, the second column is the value
143 * of the series; for complex frequency series, the second column is the
144 * real part and the third the imaginary part of the value.
145 *
146 * Note that the frequency given is the physical frequency. In the case
147 * of a heterodyned frequency series, this is the heterodyning frequency
148 * plus the frequency offset. A frequency series of length \f$[N]\f$ is
149 * assumed to be packed so that the 0th element corresponds to zero
150 * frequency offset, elements 1 through \f$[N/2]\f$ to positive frequency
151 * offsets (in ascending order), and elements \f$N-[N/2]\f$ to \f$N-1\f$ to
152 * negative frequency offsets (also in ascending order, so that the
153 * frequency corresponding to the \f$N-1\f$st element is just below that of
154 * the 0th element). If \f$N\f$ is even, the element in position \f$N/2\f$ is
155 * assumed to correspond both the maximum poitive and negative frequency
156 * offset.
157 */
158/** @{ */
170/** @} */
171
172#ifdef __cplusplus
173}
174#endif
175
176#endif /* _PRINTFTSERIES_H */
char CHAR
One-byte signed integer, see Headers LAL(Atomic)Datatypes.h for more details.
void LALI4PrintFrequencySeries(INT4FrequencySeries *series, const CHAR *filename)
void LALI8PrintFrequencySeries(INT8FrequencySeries *series, const CHAR *filename)
void LALCPrintFrequencySeries(COMPLEX8FrequencySeries *series, const CHAR *filename)
void LALU4PrintFrequencySeries(UINT4FrequencySeries *series, const CHAR *filename)
void LALU2PrintFrequencySeries(UINT2FrequencySeries *series, const CHAR *filename)
void LALSPrintFrequencySeries(REAL4FrequencySeries *series, const CHAR *filename)
void LALZPrintFrequencySeries(COMPLEX16FrequencySeries *series, const CHAR *filename)
void LALU8PrintFrequencySeries(UINT8FrequencySeries *series, const CHAR *filename)
void LALI2PrintFrequencySeries(INT2FrequencySeries *series, const CHAR *filename)
void LALPrintFrequencySeries(REAL4FrequencySeries *series, const CHAR *filename)
void LALDPrintFrequencySeries(REAL8FrequencySeries *series, const CHAR *filename)
void LALI2PrintTimeSeries(INT2TimeSeries *series, const CHAR *filename)
void LALPrintTimeSeries(REAL4TimeSeries *series, const CHAR *filename)
void LALU8PrintTimeSeries(UINT8TimeSeries *series, const CHAR *filename)
void LALU2PrintTimeSeries(UINT2TimeSeries *series, const CHAR *filename)
void LALZPrintTimeSeries(COMPLEX16TimeSeries *series, const CHAR *filename)
void LALI8PrintTimeSeries(INT8TimeSeries *series, const CHAR *filename)
void LALU4PrintTimeSeries(UINT4TimeSeries *series, const CHAR *filename)
void LALI4PrintTimeSeries(INT4TimeSeries *series, const CHAR *filename)
void LALDPrintTimeSeries(REAL8TimeSeries *series, const CHAR *filename)
void LALCPrintTimeSeries(COMPLEX8TimeSeries *series, const CHAR *filename)
void LALSPrintTimeSeries(REAL4TimeSeries *series, const CHAR *filename)
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:909
Time series of COMPLEX16 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:600
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:899
Time series of COMPLEX8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:590
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:819
Time series of INT2 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:511
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:839
Time series of INT4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:530
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:859
Time series of INT8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:550
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:879
Time series of REAL4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:570
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:889
Time series of REAL8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:580
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:829
Time series of UINT2 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:521
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:849
Time series of UINT4 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:540
See DATATYPE-FrequencySeries types for documentation.
Definition: LALDatatypes.h:869
Time series of UINT8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:560