Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALMetaIO 4.0.6.1-b246709
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LIGOLwXML.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Duncan Brown
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/*-----------------------------------------------------------------------
21 *
22 * File Name: LIGOLwXML.h
23 *
24 * Author: Brown, D. A.
25 *
26 *-----------------------------------------------------------------------
27 */
28
29/**
30 * \author Brown, D. A.
31 * \file
32 * \ingroup lalmetaio_general
33 * \brief Provides functions for writing the LIGO metdata database table structres to LIGO light weight XML files.
34 *
35 * ### Synopsis ###
36 *
37 * \code
38 * #include <lal/LIGOLwXML.h>
39 * \endcode
40 *
41 */
42
43#ifndef _LIGOLWXML_H
44#define _LIGOLWXML_H
45
46#include <stdlib.h>
47#include <lal/FileIO.h>
48#include <lal/LALAtomicDatatypes.h>
49#include <lal/LIGOMetadataTables.h>
50
51#if defined(__cplusplus)
52extern "C" {
53#elif 0
54} /* so that editors will match preceding brace */
55#endif
56
57/**
58 * This structure contains the file stream and current table type for
59 * writing to LIGO lightweight XML files. It should not be manipulated
60 * directly, but passed to the \c LIGOLwXML functions for their use.
61 * <dl>
62 * <dt>fp</dt><dd> The file stream pointer of the XML file.</dd>
63 * <dt>first</dt><dd> Is this the first entry in the table.</dd>
64 * <dt>rowCount</dt><dd> Counter for the number of rows in the current table.</dd>
65 * <dt>table</dt><dd> The database table currently open.</dd>
66 * </dl>
67 *
68 */
69typedef struct
70tagLIGOLwXMLStream
71{
72 LALFILE *fp;
73}
75
76
79 const char *path
80 );
81
82int
85 );
86
89 const ProcessTable *
90);
91
94 const ProcessParamsTable *
95);
96
99 const SearchSummaryTable *
100);
101
104 const SnglBurst *
105);
106
108 LIGOLwXMLStream *xml,
109 const SnglInspiralTable *sngl_inspiral
110);
111
114 const SimBurst *
115);
116
119 const SimInspiralTable *
120);
121
123 LIGOLwXMLStream *xml,
124 const SimRingdownTable *sim_ringdown
125);
126
129 const TimeSlide *
130);
131
133 LIGOLwXMLStream *xml,
134 const SegmentTable *segment_table
135);
136
138 char* filename,
139 size_t size,
140 const char* dataSource,
141 const char* dataDescription,
142 const LIGOTimeGPS* startTime,
143 const LIGOTimeGPS* endTime,
144 const char* extension
145);
146
147
148#if 0
149{ /* so that editors will match succeeding brace */
150#elif defined(__cplusplus)
151}
152#endif
153
154#endif /* _LIGOLIGOLWXML_H */
int XLALWriteLIGOLwXMLSnglBurstTable(LIGOLwXMLStream *, const SnglBurst *)
Write a sngl_burst table to an XML file.
Definition: sngl_burst.c:230
int XLALWriteLIGOLwXMLProcessTable(LIGOLwXMLStream *, const ProcessTable *)
Write a process table to an XML file.
Definition: processtable.c:471
int XLALWriteLIGOLwXMLSimBurstTable(LIGOLwXMLStream *, const SimBurst *)
Write a sim_burst table to an XML file.
Definition: sim_burst.c:305
int XLALWriteLIGOLwXMLProcessParamsTable(LIGOLwXMLStream *, const ProcessParamsTable *)
Write a process_params table to an XML file.
int XLALWriteLIGOLwXMLSegmentTable(LIGOLwXMLStream *xml, const SegmentTable *segment_table)
Write a segment table to an XML file.
Definition: segment.c:93
int XLALWriteLIGOLwXMLSimRingdownTable(LIGOLwXMLStream *xml, const SimRingdownTable *sim_ringdown)
Write a sim_ringdown table to an XML file.
Definition: sim_ringdown.c:262
int XLALCloseLIGOLwXMLFile(LIGOLwXMLStream *xml)
Close an XML stream.
Definition: LIGOLwXML.c:109
int XLALCreateLIGODataFileName(char *filename, size_t size, const char *dataSource, const char *dataDescription, const LIGOTimeGPS *startTime, const LIGOTimeGPS *endTime, const char *extension)
Creates a XML filename accordingly to document T050017.
Definition: LIGOLwXML.c:132
int XLALWriteLIGOLwXMLSimInspiralTable(LIGOLwXMLStream *, const SimInspiralTable *)
Write a sim_inspiral table to an XML file.
Definition: sim_inspiral.c:365
int XLALWriteLIGOLwXMLSnglInspiralTable(LIGOLwXMLStream *xml, const SnglInspiralTable *sngl_inspiral)
Write a linked list of SnglInspiralTable structures to a the sngl_inspiral table in a LIGO Light Weig...
LIGOLwXMLStream * XLALOpenLIGOLwXMLFile(const char *path)
Open an XML file for writing.
Definition: LIGOLwXML.c:67
int XLALWriteLIGOLwXMLSearchSummaryTable(LIGOLwXMLStream *, const SearchSummaryTable *)
Write a search_summary table to an XML file.
int XLALWriteLIGOLwXMLTimeSlideTable(LIGOLwXMLStream *, const TimeSlide *)
Write a time_slide table to an XML file.
Definition: time_slide.c:222
This structure contains the file stream and current table type for writing to LIGO lightweight XML fi...
Definition: LIGOLwXML.h:71
LALFILE * fp
Definition: LIGOLwXML.h:72
The SimBurst structure describes a burst injection.
This structure contains the required information for generating a ringdown injection.
This structure corresponds to one row of a time_slide table.