LALFrame  3.0.4.1-89842e6
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
29 extern "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 */
70 typedef 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 */
80 typedef 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  */
95 typedef struct tagLALFrStream {
103 } LALFrStream;
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  */
110 typedef 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 
119 LALFrStream *XLALFrStreamOpen(const char *dirname, const char *pattern);
120 int XLALFrStreamClose(LALFrStream * stream);
121 int XLALFrStreamGetMode(LALFrStream * stream);
122 int XLALFrStreamSetMode(LALFrStream * stream, int mode);
123 
124 int XLALFrStreamState(LALFrStream * stream);
125 int XLALFrStreamEnd(LALFrStream * stream);
126 int XLALFrStreamError(LALFrStream * stream);
127 int XLALFrStreamClearErr(LALFrStream * stream);
128 int XLALFrStreamRewind(LALFrStream * stream);
129 int XLALFrStreamNext(LALFrStream * stream);
130 int XLALFrStreamSeek(LALFrStream * stream, const LIGOTimeGPS * epoch);
131 int XLALFrStreamSeekO(LALFrStream * stream, double dt, int whence);
132 int XLALFrStreamTell(LIGOTimeGPS * epoch, LALFrStream * stream);
133 int XLALFrStreamGetpos(LALFrStreamPos * position, LALFrStream * stream);
134 int XLALFrStreamSetpos(LALFrStream * stream, const LALFrStreamPos * position);
135 
136 int XLALFrStreamGetVectorLength(const char *chname, LALFrStream * stream);
137 LALTYPECODE XLALFrStreamGetTimeSeriesType(const char *chname,
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 
280 typedef 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 */
298 SWIGLAL(IMMUTABLE_MEMBERS(tagFrChanIn, name));
299 #endif /* SWIG */
300 
301 /*
302  * This structure specifies the channel to read as input.
303  */
304 typedef 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 */
310 SWIGLAL(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  */
318 typedef 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  */
330 void
331 LALFrCacheOpen(LALStatus * status, LALFrStream ** output, LALCache * cache);
332 
333 void
334 LALFrOpen(LALStatus * status, LALFrStream ** stream, const CHAR * dirname,
335  const CHAR * pattern);
336 
337 void LALFrClose(LALStatus * status, LALFrStream ** stream);
338 
339 void 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 
379  COMPLEX8FrequencySeries * series,
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
LALFrStream * XLALFrStreamCacheOpen(LALCache *cache)
Opens a LALFrStream associated with a LALCache.
Definition: LALFrStream.c:189
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
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
int XLALFrStreamSetMode(LALFrStream *stream, int mode)
Change the operating mode of a LALFrStream.
Definition: LALFrStream.c:327
LALFrStream * XLALFrStreamOpen(const char *dirname, const char *pattern)
Opens a LALFrStream for specified frame files.
Definition: LALFrStream.c:253
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)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetUINT4TimeSeries(UINT4TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a 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)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetREAL8TimeSeriesMetadata(REAL8TimeSeries *series, LALFrStream *stream)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetREAL4FrequencySeries(REAL4FrequencySeries *series, LALFrStream *stream)
Reads frequency series data from the current frame in a LALFrStream stream.
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...
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)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetCOMPLEX8TimeSeriesMetadata(COMPLEX8TimeSeries *series, LALFrStream *stream)
Reads time series metadata from the current position in a 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...
int XLALFrStreamGetINT4TimeSeries(INT4TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream 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 XLALFrStreamGetCOMPLEX16FrequencySeries(COMPLEX16FrequencySeries *series, LALFrStream *stream)
Reads frequency series data from the current frame in a LALFrStream stream.
int XLALFrStreamGetCOMPLEX8TimeSeries(COMPLEX8TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetREAL4TimeSeries(REAL4TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream 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 XLALFrStreamGetREAL8FrequencySeries(REAL8FrequencySeries *series, LALFrStream *stream)
Reads frequency series data from the current frame in a 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.
int XLALFrStreamGetREAL8TimeSeries(REAL8TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetUINT8TimeSeries(UINT8TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a 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.
int XLALFrStreamGetINT2TimeSeries(INT2TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetINT4TimeSeriesMetadata(INT4TimeSeries *series, LALFrStream *stream)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetCOMPLEX16TimeSeries(COMPLEX16TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
int XLALFrStreamGetCOMPLEX16TimeSeriesMetadata(COMPLEX16TimeSeries *series, LALFrStream *stream)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetCOMPLEX8FrequencySeries(COMPLEX8FrequencySeries *series, LALFrStream *stream)
Reads frequency series data from the current frame in a 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...
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)
Reads time series metadata from the current position in a 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)
Reads time series metadata from the current position in a LALFrStream stream.
int XLALFrStreamGetINT8TimeSeries(INT8TimeSeries *series, LALFrStream *stream)
Reads time series data from the current position in a LALFrStream stream.
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)
Reads time series metadata from the current position in a 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