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
LIGOMetadataUtils.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Alexander Dietz, Drew Keppel, Duncan Brown, Eirini Messaritaki, Gareth Jones, George Birthisel, Jolien Creighton, Kipp Cannon, Lisa M. Goggin, Patrick Brady, Peter Shawhan, Saikat Ray-Majumder, Stephen Fairhurst, Xavier Siemens, Craig Robinson , Thomas Cokelaer
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: LIGOMetadataUtils.h
23 *
24 * Author: Brown, D. A. and Fairhurst, S.
25 *
26 *-----------------------------------------------------------------------
27 */
28
29/**
30 * \author Brown, D. A. and Fairhurst, S.
31 * \file
32 * \ingroup lalmetaio_general
33 * \brief Provides functions for manipulating the LAL structures that correspond
34 * to the LIGO metadata database tables defined in \ref LIGOMetadataTables.h.
35 *
36 * ### Synopsis ###
37 *
38 * \code
39 * #include <lal/LIGOMetadataUtils.h>
40 * \endcode
41 *
42 * This header provides prototypes for routines that perform processing
43 * on the LAL structures that correspond to the LIGO metadata database tables
44 * defined in \ref LIGOMetadataTables.h, such as sorting and eliminating
45 * duplictaes. The functions specific to a particular metadata table (e.g.
46 * \c sngl_inspiral, \c sngl_burst, etc.) are all prototyped in
47 * this header.
48 *
49 * ### Types ###
50 *
51 * None.
52 *
53 */
54
55#ifndef _LIGOMETADATAUTILS_H
56#define _LIGOMETADATAUTILS_H
57
58#if defined(__cplusplus)
59extern "C" {
60#elif 0
61} /* so that editors will match preceding brace */
62#endif
63
64#include <lal/LIGOMetadataTables.h>
65#include <lal/LALDetectors.h>
66
67
68/*
69 *
70 * general manipulation functions
71 *
72 */
73
75#ifndef SWIG // exclude from SWIG interface
77#endif // SWIG
81 ProcessTable *ptable,
82 const char *program_name,
83 const char *cvs_revision,
84 const char *cvs_source,
85 const char *cvs_date,
86 long process_id
87);
88
90#ifndef SWIG // exclude from SWIG interface
92#endif // SWIG
94
96#ifndef SWIG // exclude from SWIG interface
98#endif // SWIG
100const TimeSlide *XLALTimeSlideConstGetByIDAndInstrument(const TimeSlide *, long, const char *);
102
104#ifndef SWIG // exclude from SWIG interface
106#endif // SWIG
108
110#ifndef SWIG // exclude from SWIG interface
112#endif // SWIG
114
116#ifndef SWIG // exclude from SWIG interface
118#endif // SWIG
120
122#ifndef SWIG // exclude from SWIG interface
124#endif // SWIG
126
128#ifndef SWIG // exclude from SWIG interface
130#endif // SWIG
132
134#ifndef SWIG // exclude from SWIG interface
136#endif // SWIG
138
139
141#ifndef SWIG // exclude from SWIG interface
143#endif // SWIG
145
147#ifndef SWIG // exclude from SWIG interface
149#endif // SWIG
151
152int
154 ProcessTable *head
155 );
156
157int
160 );
161
162long
164 SimInspiralTable *head,
165 long process_id,
166 long simulation_id
167 );
168
169long
171 SnglBurst *head,
172 long process_id,
173 long event_id
174 );
175
176long
178 SimBurst *head,
179 long process_id,
180 long time_slide_id,
181 long event_id
182 );
183
184void
186 char *ifo,
187 InterferometerNumber IFONumber
188 );
189
190void
192 LALDetector *det,
193 InterferometerNumber IFONumber
194 );
195
196int
198 const void *a,
199 const void *b
200 );
201
202int
204 SearchSummaryTable **summHead,
205 int(*comparfunc) (const void *, const void *)
206 );
207
210 SearchSummaryTable *input,
211 CHAR *ifos
212 );
213
214#if 0
215{ /* so that editors will match succeeding brace */
216#elif defined(__cplusplus)
217}
218#endif
219
220#endif /* _LIGOMETADATAUTILS_H */
InterferometerNumber
The InterferometerNumber contains an enum type for describing the interferometer.
SnglInspiralTable * XLALDestroySnglInspiralTableRow(SnglInspiralTable *row)
Destroy a SnglInspiralTable structure.
Definition: sngl_inspiral.c:64
void XLALDestroyProcessParamsTable(ProcessParamsTable *)
Destroy a ProcessParamsTable linked list.
void XLALDestroySimInspiralTable(SimInspiralTable *head)
Destroy a SimInspiralTable linked list.
Definition: sim_inspiral.c:80
TimeSlide * XLALCreateTimeSlide(void)
Create a TimeSlide structure.
Definition: time_slide.c:40
void XLALReturnDetector(LALDetector *det, InterferometerNumber IFONumber)
SimInspiralTable * XLALCreateSimInspiralTableRow(const ProcessTable *process)
Create a SimInspiralTable structure.
Definition: sim_inspiral.c:40
long XLALSimBurstAssignIDs(SimBurst *head, long process_id, long time_slide_id, long event_id)
Assign simulation_id values to the entries in a sim_burst linked list.
Definition: sim_burst.c:388
SegmentTable * XLALCreateSegmentTableRow(const ProcessTable *process)
Create a SegmentTable structure.
Definition: segment.c:40
ProcessTable * XLALDestroyProcessTableRow(ProcessTable *)
Destroy a ProcessTable structure.
Definition: processtable.c:83
SearchSummaryTable * XLALCreateSearchSummaryTableRow(const ProcessTable *)
Create a SearchSummaryTable structure.
SnglRingdownTable * XLALDestroySnglRingdownTableRow(SnglRingdownTable *row)
Destroy a SnglRingdownTable structure.
Definition: sngl_ringdown.c:65
void XLALDestroyTimeSlideTable(TimeSlide *)
Destroy a TimeSlide linked list.
Definition: time_slide.c:75
const TimeSlide * XLALTimeSlideConstGetByIDAndInstrument(const TimeSlide *, long, const char *)
Find and return the address of the first element in the linked list of TimeSlide objects whose time_s...
Definition: time_slide.c:92
SearchSummaryTable * XLALIfoScanSearchSummary(SearchSummaryTable *input, CHAR *ifos)
Scan through a linked list of search_summary row objects and copy rows whose ifos match the given str...
ProcessParamsTable * XLALDestroyProcessParamsTableRow(ProcessParamsTable *)
Destroy a ProcessParamsTable structure.
void XLALDestroySimBurstTable(SimBurst *head)
Destroy a SimBurst linked list.
Definition: sim_burst.c:84
SnglRingdownTable * XLALCreateSnglRingdownTableRow(const ProcessTable *process)
Create a SnglRingdownTable structure.
Definition: sngl_ringdown.c:40
SnglInspiralTable * XLALCreateSnglInspiralTableRow(const ProcessTable *process)
Create a SnglInspiralTable structure.
Definition: sngl_inspiral.c:40
TimeSlide * XLALTimeSlideGetByIDAndInstrument(TimeSlide *, long, const char *)
Find and return the address of the first element in the linked list of TimeSlide objects whose time_s...
Definition: time_slide.c:114
int XLALCompareSearchSummaryByOutTime(const void *a, const void *b)
ProcessTable * XLALCreateProcessTableRow(void)
Create a ProcessTable structure.
Definition: processtable.c:52
void XLALDestroyProcessTable(ProcessTable *)
Destroy a ProcessTable linked list.
Definition: processtable.c:94
int XLALPopulateProcessTable(ProcessTable *ptable, const char *program_name, const char *cvs_revision, const char *cvs_source, const char *cvs_date, long process_id)
Populate a pre-allocated ProcessTable structure.
Definition: processtable.c:220
long XLALProcessTableGetNextID(ProcessTable *)
Return the next available process ID.
Definition: processtable.c:104
int XLALTimeSortSearchSummary(SearchSummaryTable **summHead, int(*comparfunc)(const void *, const void *))
long XLALSimInspiralAssignIDs(SimInspiralTable *head, long process_id, long simulation_id)
Assign simulation_id values to the entries in a SimInspiral linked list.
Definition: sim_inspiral.c:97
void XLALDestroySimRingdownTable(SimRingdownTable *head)
Destroy a SimRingdownTable linked list.
Definition: sim_ringdown.c:78
void XLALDestroySnglRingdownTable(SnglRingdownTable *head)
Destroy a SnglRingdownTable linked list.
Definition: sngl_ringdown.c:78
int XLALCountProcessParamsTable(ProcessParamsTable *head)
Count the number of rows in a ProcessParamsTable linked the list.
SimBurst * XLALCreateSimBurst(void)
Create a SimBurst structure.
Definition: sim_burst.c:40
ProcessParamsTable * XLALCreateProcessParamsTableRow(const ProcessTable *)
Create a ProcessParamsTable structure.
void XLALDestroySearchSummaryTable(SearchSummaryTable *)
Destroy a SearchSummaryTable linked list.
SimInspiralTable * XLALDestroySimInspiralTableRow(SimInspiralTable *row)
Destroy a SimInspiralTable structure.
Definition: sim_inspiral.c:67
SnglBurst * XLALCreateSnglBurst(void)
Create a SnglBurst structure.
Definition: sngl_burst.c:40
TimeSlide * XLALDestroyTimeSlide(TimeSlide *)
Destroy a TimeSlide structure.
Definition: time_slide.c:62
void XLALDestroySegmentTable(SegmentTable *head)
Definition: segment.c:81
void XLALDestroySnglInspiralTable(SnglInspiralTable *head)
Destroy a SnglInspiralTable linked list.
Definition: sngl_inspiral.c:75
SegmentTable * XLALDestroySegmentTableRow(SegmentTable *row)
Definition: segment.c:68
void XLALDestroySnglBurstTable(SnglBurst *head)
Free a SnglBurst linked list.
Definition: sngl_burst.c:81
SimRingdownTable * XLALCreateSimRingdownTableRow(const ProcessTable *process)
Create a SimRingdownTable structure.
Definition: sim_ringdown.c:40
int XLALCountProcessTable(ProcessTable *head)
Count and return the number of rows in the linked list.
Definition: processtable.c:117
SimRingdownTable * XLALDestroySimRingdownTableRow(SimRingdownTable *row)
Destroy a SimRingdownTable structure.
Definition: sim_ringdown.c:65
long XLALSnglBurstAssignIDs(SnglBurst *head, long process_id, long event_id)
Assign event_id values to the entries in a SnglBurst linked list.
Definition: sngl_burst.c:307
void XLALReturnIFO(char *ifo, InterferometerNumber IFONumber)
SearchSummaryTable * XLALDestroySearchSummaryTableRow(SearchSummaryTable *)
Destroy a SearchSummaryTable structure.
SnglBurst * XLALDestroySnglBurst(SnglBurst *event)
Free a SnglBurst.
Definition: sngl_burst.c:70
SimBurst * XLALDestroySimBurst(SimBurst *row)
Destroy a SimBurst structure.
Definition: sim_burst.c:73
char CHAR
static const INT4 a
The SimBurst structure describes a burst injection.
This structure contains the required information for generating a ringdown injection.
This structure contains the required information for generating a ringdown template and storing ringd...
This structure corresponds to one row of a time_slide table.