Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALFrame 3.0.7.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LALFrStream.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Jolien Creighton, Kipp Cannon
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#include <stdio.h>
21#include <lal/LALDatatypes.h>
22#include <lal/LALCache.h>
23#include <lal/LALFrameIO.h>
24
25#ifndef _LALFRSTREAM_H
26#define _LALFRSTREAM_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31#if 0
32} /* so that editors will match preceding brace */
33#endif
34
35/**
36 * @defgroup LALFrStream_h Header LALFrStream.h
37 * @ingroup lalframe_general
38 *
39 * \author Jolien D. E. Creighton
40 *
41 * \brief High-level routines for manipulating frame data streams.
42 *
43 * ### Synopsis ###
44 *
45 * \code
46 * #include <lal/LALFrStream.h>
47 * \endcode
48 *
49 * ### Description ###
50 *
51 * A frame stream is like a file stream except that it streams along the set
52 * of frames in a set of frame files. These routines are high-level routines
53 * that allow you to extract frame data. Many of these routines have names
54 * similar to the standard C file stream manipulation routines and perform
55 * similar functions. These routines are found in Module LALFrameStream.c.
56 *
57 * Routines for reading data from a frame stream, either in sequential
58 * or random-access mode, are found in Module LALFrameStreamRead.c.
59 *
60 * @{
61 * @defgroup LALFrStream_c Module LALFrStream.c
62 * @defgroup LALFrStreamRead_c Module LALFrStreamRead.c
63 * @}
64 *
65 * @addtogroup LALFrStream_c
66 * @{
67 */
68
69/** Enum listing different stream states */
70typedef enum tagLALFrStreamState {
71 LAL_FR_STREAM_OK = 0, /**< nominal */
72 LAL_FR_STREAM_ERR = 1, /**< error in frame stream */
73 LAL_FR_STREAM_END = 2, /**< end of frame stream */
74 LAL_FR_STREAM_GAP = 4, /**< gap in frame stream */
75 LAL_FR_STREAM_URL = 8, /**< error opening frame URL */
76 LAL_FR_STREAM_TOC = 16 /**< error reading frame TOC */
78
79/** Enum listing different stream modes */
80typedef enum tagLALFrStreamMode {
81 LAL_FR_STREAM_SILENT_MODE = 0, /**< silent mode */
82 LAL_FR_STREAM_TIMEWARN_MODE = 1, /**< display warning for invalid time requests */
83 LAL_FR_STREAM_GAPINFO_MODE = 2, /**< display info for gaps in data */
84 LAL_FR_STREAM_VERBOSE_MODE = 3, /**< display warnings and info */
85 LAL_FR_STREAM_IGNOREGAP_MODE = 4, /**< ignore gaps in data */
86 LAL_FR_STREAM_IGNORETIME_MODE = 8, /**< ignore invalid times requested */
87 LAL_FR_STREAM_DEFAULT_MODE = 15, /**< ignore time/gaps but report warnings & info */
88 LAL_FR_STREAM_CHECKSUM_MODE = 16 /**< ensure that file checksums are OK */
90
91/**
92 * This structure details the state of the frame stream. The contents are
93 * private; you should not tamper with them!
94 */
95typedef struct tagLALFrStream {
104
105/**
106 * This structure contains a record of the state of a frame stream; this
107 * record can be used to restore the stream to the state when the record
108 * was made (provided the stream has not been closed).
109 */
110typedef struct tagLALFrStreamPos {
111 LIGOTimeGPS epoch; /**< the GPS time of the open frame when the record was made */
112 UINT4 fnum; /**< the file number of a list of frame files that was open when the record was made */
113 INT4 pos; /**< the position within the frame file that was open when the record was made */
115
116/** @} */
117
119LALFrStream *XLALFrStreamOpen(const char *dirname, const char *pattern);
120int XLALFrStreamClose(LALFrStream * stream);
121int XLALFrStreamGetMode(LALFrStream * stream);
122int XLALFrStreamSetMode(LALFrStream * stream, int mode);
123
124int XLALFrStreamState(LALFrStream * stream);
125int XLALFrStreamEnd(LALFrStream * stream);
126int XLALFrStreamError(LALFrStream * stream);
128int XLALFrStreamRewind(LALFrStream * stream);
129int XLALFrStreamNext(LALFrStream * stream);
130int XLALFrStreamSeek(LALFrStream * stream, const LIGOTimeGPS * epoch);
131int XLALFrStreamSeekO(LALFrStream * stream, double dt, int whence);
132int XLALFrStreamTell(LIGOTimeGPS * epoch, LALFrStream * stream);
133int XLALFrStreamGetpos(LALFrStreamPos * position, LALFrStream * stream);
134int XLALFrStreamSetpos(LALFrStream * stream, const LALFrStreamPos * position);
135
136int XLALFrStreamGetVectorLength(const char *chname, LALFrStream * stream);
138 LALFrStream * stream);
139
141 LALFrStream * stream);
143 LALFrStream * stream);
145 LALFrStream * stream);
147 LALFrStream * stream);
149 LALFrStream * stream);
151 LALFrStream * stream);
153 LALFrStream * stream);
155 LALFrStream * stream);
157 LALFrStream * stream);
159 LALFrStream * stream);
160
162 LALFrStream * stream);
164 LALFrStream * stream);
166 LALFrStream * stream);
168 LALFrStream * stream);
170 LALFrStream * stream);
172 LALFrStream * stream);
174 LALFrStream * stream);
176 LALFrStream * stream);
178 LALFrStream * stream);
180 LALFrStream * stream);
181
183 LALFrStream * stream);
185 LALFrStream * stream);
187 LALFrStream * stream);
189 LALFrStream * stream);
190
192 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
193 size_t lengthlimit);
195 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
196 size_t lengthlimit);
198 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
199 size_t lengthlimit);
201 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
202 size_t lengthlimit);
204 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
205 size_t lengthlimit);
207 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
208 size_t lengthlimit);
210 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
211 size_t lengthlimit);
213 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
214 size_t lengthlimit);
216 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
217 size_t lengthlimit);
219 const char *chname, const LIGOTimeGPS * start, REAL8 duration,
220 size_t lengthlimit);
221
223 stream, const char *chname, const LIGOTimeGPS * epoch);
225 stream, const char *chname, const LIGOTimeGPS * epoch);
227 stream, const char *chname, const LIGOTimeGPS * epoch);
229 * stream, const char *chname, const LIGOTimeGPS * epoch);
230
232 const char *channel, const LIGOTimeGPS * start, REAL8 duration,
233 size_t lengthlimit);
235 stream, const char *channel, const LIGOTimeGPS * start, REAL8 duration,
236 size_t lengthlimit);
237
239 stream, const char *chname, const LIGOTimeGPS * epoch);
242 const char *chname, const LIGOTimeGPS * epoch);
243
244
245
246/* ---------- LEGACY CODE ---------- */
247
248/*\name Legacy Error Codes */
249/** @{ */
250#define FRAMESTREAMH_ENULL 00001
251#define FRAMESTREAMH_ENNUL 00002
252#define FRAMESTREAMH_EALOC 00004
253#define FRAMESTREAMH_EFILE 00010
254#define FRAMESTREAMH_EOPEN 00020
255#define FRAMESTREAMH_EREAD 00040
256#define FRAMESTREAMH_ETIME 00100
257#define FRAMESTREAMH_ESIZE 00200
258#define FRAMESTREAMH_ECHAN 00400
259#define FRAMESTREAMH_ETYPE 01000
260#define FRAMESTREAMH_ERROR 02000
261#define FRAMESTREAMH_EDONE 04000
262#define FRAMESTREAMH_ETREQ 010000
263#define FRAMESTREAMH_EDGAP 020000
264#define FRAMESTREAMH_MSGENULL "Null pointer"
265#define FRAMESTREAMH_MSGENNUL "Non-null pointer"
266#define FRAMESTREAMH_MSGEALOC "Memory allocation error"
267#define FRAMESTREAMH_MSGEFILE "Frame data files not found"
268#define FRAMESTREAMH_MSGEOPEN "Frame file open error"
269#define FRAMESTREAMH_MSGEREAD "Frame file read error"
270#define FRAMESTREAMH_MSGETIME "Invalid ADC offset time"
271#define FRAMESTREAMH_MSGESIZE "Invalid vector length"
272#define FRAMESTREAMH_MSGECHAN "Could not find ADC channel"
273#define FRAMESTREAMH_MSGETYPE "Invalid ADC type"
274#define FRAMESTREAMH_MSGERROR "Frame stream error"
275#define FRAMESTREAMH_MSGEDONE "End of frame data"
276#define FRAMESTREAMH_MSGETREQ "No data at time requested"
277#define FRAMESTREAMH_MSGEDGAP "Gap in the data"
278/** @} */
279
280typedef enum tagFrChanType {
283
284/* @name for backwards compatability
285 *
286 * These are the various types of channel that can be specified for read/write.
287 * They are "post-processed data" (ProcDataChannel), "ADC data"
288 * (ADCDataChannel), and "simulated data" (SimDataChannel).
289 */
290/** @{ */
291#define ChannelType FrChanType
292#define ProcDataChannel LAL_PROC_CHAN
293#define ADCDataChannel LAL_ADC_CHAN
294#define SimDataChannel LAL_SIM_CHAN
295/** @} */
296
297#ifdef SWIG /* SWIG interface directives */
298SWIGLAL(IMMUTABLE_MEMBERS(tagFrChanIn, name));
299#endif /* SWIG */
300
301/*
302 * This structure specifies the channel to read as input.
303 */
304typedef struct tagFrChanIn {
305 const CHAR *name; /**< the name of the channel */
306 ChannelType type; /**< the channel type */
307} FrChanIn;
308
309#ifdef SWIG /* SWIG interface directives */
310SWIGLAL(IMMUTABLE_MEMBERS(tagFrOutPar, source, description));
311#endif /* SWIG */
312/*
313 *
314 * This structure specifies the parameters for output of data to a frame.
315 * The output frame file name will be
316 * <source>-<description>-<GPS start time>-<duration>.gwf
317 */
318typedef struct tagFrOutPar {
319 const CHAR *source; /**< the source identifier to attach to the output frame file name */
320 const CHAR *description; /**< the description identifier to attach to the output frame file name */
321 ChannelType type; /**< the type of channel to create in the output frames */
322 UINT4 nframes; /**< the number of frames to output in the frame file */
323 UINT4 frame; /**< the number the first frame of output*/
324 UINT4 run; /**< the number this data run */
325} FrOutPar;
326
327/** @name Legacy API
328 * @{
329 */
330void
331LALFrCacheOpen(LALStatus * status, LALFrStream ** output, LALCache * cache);
332
333void
334LALFrOpen(LALStatus * status, LALFrStream ** stream, const CHAR * dirname,
335 const CHAR * pattern);
336
337void LALFrClose(LALStatus * status, LALFrStream ** stream);
338
339void LALFrSeek(LALStatus * status, const LIGOTimeGPS * epoch,
340 LALFrStream * stream);
341
343 FrChanIn * chanin, LALFrStream * stream);
344
346 INT2TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
347
349 FrChanIn * chanin, LALFrStream * stream);
350
352 INT4TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
353
355 FrChanIn * chanin, LALFrStream * stream);
356
358 INT8TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
359
361 FrChanIn * chanin, LALFrStream * stream);
362
364 REAL4TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
365
367 FrChanIn * chanin, LALFrStream * stream);
368
370 REAL8TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
371
373 COMPLEX8TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
374
376 COMPLEX8TimeSeries * series, FrChanIn * chanin, LALFrStream * stream);
377
380 FrChanIn * chanin, LALFrStream * stream);
381
383 INT4TimeSeries * series, FrOutPar * params);
384
386 REAL4TimeSeries * series, FrOutPar * params);
387/** @} */
388
389
390#if 0
391{ /* so that editors will match succeeding brace */
392#endif
393#ifdef __cplusplus
394}
395#endif
396
397#endif /* _LALFRSTREAM_H */
void LALFrWriteREAL4TimeSeries(LALStatus *status, REAL4TimeSeries *series, FrOutPar *params)
FrChanType
Definition: LALFrStream.h:280
@ LAL_ADC_CHAN
Definition: LALFrStream.h:281
@ LAL_PROC_CHAN
Definition: LALFrStream.h:281
@ LAL_SIM_CHAN
Definition: LALFrStream.h:281
void LALFrGetCOMPLEX8TimeSeriesMetadata(LALStatus *status, COMPLEX8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrWriteINT4TimeSeries(LALStatus *status, INT4TimeSeries *series, FrOutPar *params)
void LALFrGetINT2TimeSeries(LALStatus *status, INT2TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetCOMPLEX8TimeSeries(LALStatus *status, COMPLEX8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetINT4TimeSeriesMetadata(LALStatus *status, INT4TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetINT8TimeSeries(LALStatus *status, INT8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetREAL8TimeSeriesMetadata(LALStatus *status, REAL8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetCOMPLEX8FrequencySeries(LALStatus *status, COMPLEX8FrequencySeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetINT4TimeSeries(LALStatus *status, INT4TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetREAL4TimeSeriesMetadata(LALStatus *status, REAL4TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrSeek(LALStatus *status, const LIGOTimeGPS *epoch, LALFrStream *stream)
void LALFrOpen(LALStatus *status, LALFrStream **stream, const CHAR *dirname, const CHAR *pattern)
void LALFrGetINT8TimeSeriesMetadata(LALStatus *status, INT8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
#define ChannelType
Definition: LALFrStream.h:291
void LALFrGetREAL8TimeSeries(LALStatus *status, REAL8TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrGetINT2TimeSeriesMetadata(LALStatus *status, INT2TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrCacheOpen(LALStatus *status, LALFrStream **output, LALCache *cache)
void LALFrGetREAL4TimeSeries(LALStatus *status, REAL4TimeSeries *series, FrChanIn *chanin, LALFrStream *stream)
void LALFrClose(LALStatus *status, LALFrStream **stream)
LALTYPECODE
double REAL8
char CHAR
uint32_t UINT4
int32_t INT4
int XLALFrStreamSeek(LALFrStream *stream, const LIGOTimeGPS *epoch)
Seeks a LALFrStream stream to data at a given time.
Definition: LALFrStream.c:542
int XLALFrStreamSeekO(LALFrStream *stream, double dt, int whence)
Seeks a LALFrStream stream by a time offset.
Definition: LALFrStream.c:676
LALFrStreamMode
Enum listing different stream modes.
Definition: LALFrStream.h:80
LALFrStreamState
Enum listing different stream states.
Definition: LALFrStream.h:70
int XLALFrStreamState(LALFrStream *stream)
Gets the current state of a LALFrStream.
Definition: LALFrStream.c:353
int XLALFrStreamTell(LIGOTimeGPS *epoch, LALFrStream *stream)
Tells the current time of the current position of a LALFrStream stream.
Definition: LALFrStream.c:717
int XLALFrStreamClose(LALFrStream *stream)
Closes a LALFrStream.
Definition: LALFrStream.c:170
int XLALFrStreamGetMode(LALFrStream *stream)
Returns the current operating mode of a LALFrStream.
Definition: LALFrStream.c:284
int XLALFrStreamEnd(LALFrStream *stream)
Checks to see if a LALFrStream is at the end of the stream.
Definition: LALFrStream.c:368
LALFrStream * XLALFrStreamCacheOpen(LALCache *cache)
Opens a LALFrStream associated with a LALCache.
Definition: LALFrStream.c:189
int XLALFrStreamRewind(LALFrStream *stream)
Rewinds a LALFrStream stream.
Definition: LALFrStream.c:411
int XLALFrStreamGetpos(LALFrStreamPos *position, LALFrStream *stream)
Gets the current position of a LALFrStream stream.
Definition: LALFrStream.c:736
int XLALFrStreamNext(LALFrStream *stream)
Advance a LALFrStream stream to the beginning of the next frame.
Definition: LALFrStream.c:437
LALFrStream * XLALFrStreamOpen(const char *dirname, const char *pattern)
Opens a LALFrStream for specified frame files.
Definition: LALFrStream.c:253
int XLALFrStreamSetMode(LALFrStream *stream, int mode)
Change the operating mode of a LALFrStream.
Definition: LALFrStream.c:327
int XLALFrStreamSetpos(LALFrStream *stream, const LALFrStreamPos *position)
Sets the current position of a LALFrStream stream.
Definition: LALFrStream.c:756
int XLALFrStreamClearErr(LALFrStream *stream)
Resets the state of a LALFrStream.
Definition: LALFrStream.c:396
int XLALFrStreamError(LALFrStream *stream)
Checks to see if a LALFrStream has encountered an error.
Definition: LALFrStream.c:383
@ LAL_FR_STREAM_CHECKSUM_MODE
ensure that file checksums are OK
Definition: LALFrStream.h:88
@ LAL_FR_STREAM_DEFAULT_MODE
ignore time/gaps but report warnings & info
Definition: LALFrStream.h:87
@ LAL_FR_STREAM_IGNOREGAP_MODE
ignore gaps in data
Definition: LALFrStream.h:85
@ LAL_FR_STREAM_TIMEWARN_MODE
display warning for invalid time requests
Definition: LALFrStream.h:82
@ LAL_FR_STREAM_IGNORETIME_MODE
ignore invalid times requested
Definition: LALFrStream.h:86
@ LAL_FR_STREAM_SILENT_MODE
silent mode
Definition: LALFrStream.h:81
@ LAL_FR_STREAM_GAPINFO_MODE
display info for gaps in data
Definition: LALFrStream.h:83
@ LAL_FR_STREAM_VERBOSE_MODE
display warnings and info
Definition: LALFrStream.h:84
@ LAL_FR_STREAM_GAP
gap in frame stream
Definition: LALFrStream.h:74
@ LAL_FR_STREAM_OK
nominal
Definition: LALFrStream.h:71
@ LAL_FR_STREAM_URL
error opening frame URL
Definition: LALFrStream.h:75
@ LAL_FR_STREAM_ERR
error in frame stream
Definition: LALFrStream.h:72
@ LAL_FR_STREAM_TOC
error reading frame TOC
Definition: LALFrStream.h:76
@ LAL_FR_STREAM_END
end of frame stream
Definition: LALFrStream.h:73
UINT4TimeSeries * XLALFrStreamReadUINT4TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
int XLALFrStreamGetUINT8TimeSeriesMetadata(UINT8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetUINT4TimeSeries(UINT4TimeSeries *series, LALFrStream *stream)
COMPLEX8TimeSeries * XLALFrStreamReadCOMPLEX8TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
int XLALFrStreamGetINT2TimeSeriesMetadata(INT2TimeSeries *series, LALFrStream *stream)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetUINT2TimeSeries(UINT2TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetREAL8TimeSeriesMetadata(REAL8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetREAL4FrequencySeries(REAL4FrequencySeries *series, LALFrStream *stream)
Reads frequency series data from the current frame in a LALFrStream stream.
REAL8FrequencySeries * XLALFrStreamReadREAL8FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch.
int XLALFrStreamGetREAL4TimeSeriesMetadata(REAL4TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX8TimeSeriesMetadata(COMPLEX8TimeSeries *series, LALFrStream *stream)
LALTYPECODE XLALFrStreamGetTimeSeriesType(const char *chname, LALFrStream *stream)
Returns the type code for the data type of channel chname in the current frame in frame stream stream...
COMPLEX16TimeSeries * XLALFrStreamInputCOMPLEX16TimeSeries(LALFrStream *stream, const char *channel, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration,...
int XLALFrStreamGetINT4TimeSeries(INT4TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX16FrequencySeries(COMPLEX16FrequencySeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX8TimeSeries(COMPLEX8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetREAL4TimeSeries(REAL4TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetREAL8FrequencySeries(REAL8FrequencySeries *series, LALFrStream *stream)
INT8TimeSeries * XLALFrStreamReadINT8TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
COMPLEX16FrequencySeries * XLALFrStreamReadCOMPLEX16FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch.
REAL8FrequencySeries * XLALFrStreamInputREAL8FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch, and performs any needed...
int XLALFrStreamGetREAL8TimeSeries(REAL8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetUINT8TimeSeries(UINT8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetVectorLength(const char *chname, LALFrStream *stream)
Returns the number of data points in channel chname in the current frame in frame stream stream.
REAL8TimeSeries * XLALFrStreamInputREAL8TimeSeries(LALFrStream *stream, const char *channel, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration,...
int XLALFrStreamGetINT2TimeSeries(INT2TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetINT4TimeSeriesMetadata(INT4TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX16TimeSeries(COMPLEX16TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX16TimeSeriesMetadata(COMPLEX16TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetCOMPLEX8FrequencySeries(COMPLEX8FrequencySeries *series, LALFrStream *stream)
COMPLEX16TimeSeries * XLALFrStreamReadCOMPLEX16TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
COMPLEX8FrequencySeries * XLALFrStreamReadCOMPLEX8FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch.
INT4TimeSeries * XLALFrStreamReadINT4TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
int XLALFrStreamGetUINT2TimeSeriesMetadata(UINT2TimeSeries *series, LALFrStream *stream)
INT2TimeSeries * XLALFrStreamReadINT2TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
REAL4FrequencySeries * XLALFrStreamReadREAL4FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch.
UINT2TimeSeries * XLALFrStreamReadUINT2TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
int XLALFrStreamGetINT8TimeSeriesMetadata(INT8TimeSeries *series, LALFrStream *stream)
int XLALFrStreamGetINT8TimeSeries(INT8TimeSeries *series, LALFrStream *stream)
COMPLEX16FrequencySeries * XLALFrStreamInputCOMPLEX16FrequencySeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *epoch)
Reads a time series channel from a LALFrStream stream with a specified epoch, and performs any needed...
REAL8TimeSeries * XLALFrStreamReadREAL8TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
REAL4TimeSeries * XLALFrStreamReadREAL4TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
int XLALFrStreamGetUINT4TimeSeriesMetadata(UINT4TimeSeries *series, LALFrStream *stream)
UINT8TimeSeries * XLALFrStreamReadUINT8TimeSeries(LALFrStream *stream, const char *chname, const LIGOTimeGPS *start, REAL8 duration, size_t lengthlimit)
Reads a time series channel from a LALFrStream stream with a specified start time and duration.
struct tagLALFrFile LALFrFile
Incomplete type for a frame file structure.
Definition: LALFrameIO.h:64
double dt
Definition: stream.c:110
LALCache * cache
Definition: stream.c:107
char * channel
Definition: stream.c:108
ChannelType type
the channel type
Definition: LALFrStream.h:306
const CHAR * name
the name of the channel
Definition: LALFrStream.h:305
ChannelType type
the type of channel to create in the output frames
Definition: LALFrStream.h:321
UINT4 frame
the number the first frame of output
Definition: LALFrStream.h:323
UINT4 nframes
the number of frames to output in the frame file
Definition: LALFrStream.h:322
UINT4 run
the number this data run
Definition: LALFrStream.h:324
const CHAR * source
the source identifier to attach to the output frame file name
Definition: LALFrStream.h:319
const CHAR * description
the description identifier to attach to the output frame file name
Definition: LALFrStream.h:320
This structure details the state of the frame stream.
Definition: LALFrStream.h:95
LALFrStreamState state
Definition: LALFrStream.h:96
LIGOTimeGPS epoch
Definition: LALFrStream.h:98
LALCache * cache
Definition: LALFrStream.h:99
LALFrFile * file
Definition: LALFrStream.h:101
This structure contains a record of the state of a frame stream; this record can be used to restore t...
Definition: LALFrStream.h:110
UINT4 fnum
the file number of a list of frame files that was open when the record was made
Definition: LALFrStream.h:112
LIGOTimeGPS epoch
the GPS time of the open frame when the record was made
Definition: LALFrStream.h:111
INT4 pos
the position within the frame file that was open when the record was made
Definition: LALFrStream.h:113