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
LIGOMetadataTables.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Andres C. Rodriguez, Badri Krishnan, Sukanta Bose, Alexander Dietz, Duncan Brown, Kipp Cannon, Lisa M. Goggin, Patrick Brady, Robert Adam Mercer, Saikat Ray-Majumder, Anand Sengupta, Stephen Fairhurst, Xavier Siemens, Sean Seader, 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: LIGOMetadataTables.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 data type definitions for the LIGO metadata database tables.
34 *
35 * Only columns that are available for the user defined values are available in the
36 * structures. For example the \c process_id column in the
37 * \c sngl_inspiral table is not in the corresponding LAL structure as it
38 * is generated by the database on insertion of events, not by the user.
39 *
40 * ### Synopsis ###
41 *
42 * \code
43 * #include <lal/LIGOMetadataTables.h>
44 * \endcode
45 *
46 */
47
48#include <lal/LALStdlib.h>
49
50#ifndef _LIGOMETADATATABLES_H
51#define _LIGOMETADATATABLES_H
52
53#if defined(__cplusplus)
54extern "C" {
55#elif 0
56} /* so that editors will match preceding brace */
57#endif
58
59/* Defines for lengths of database table char arrays */
60/* one longer than as defined in the SQL tables to allow */
61/* strage of the terminating null need for the C %s format */
62#define LIGOMETA_PROGRAM_MAX 65
63#define LIGOMETA_VERSION_MAX 65
64#define LIGOMETA_CVS_REPOSITORY_MAX 257
65#define LIGOMETA_COMMENT_MAX 241
66#define LIGOMETA_NODE_MAX 65
67#define LIGOMETA_USERNAME_MAX 65
68#define LIGOMETA_DOMAIN_MAX 64
69#define LIGOMETA_IFOS_MAX 13
70#define LIGOMETA_PARAM_MAX 33
71#define LIGOMETA_TYPE_MAX 17
72#define LIGOMETA_VALUE_MAX 1025
73#define LIGOMETA_STRING_MAX 257
74#define LIGOMETA_IFO_MAX 8
75#define LIGOMETA_SEARCH_MAX 25
76#define LIGOMETA_CHANNEL_MAX 65
77#define LIGOMETA_SOURCE_MAX 30
78#define LIGOMETA_WAVEFORM_MAX 50
79#define LIGOMETA_COORDINATES_MAX 16
80#define LIGOMETA_STD 100
81#define LIGOMETA_INSPIRALTAPER_MAX 35
82
83
84/**
85 * The \c InterferometerNumber contains an enum type for describing the
86 * interferometer.
87 */
88typedef enum
89tagInterferometerNumber
90{
101
102
103typedef struct
104tagProcessTable
105{
106 struct tagProcessTable *next;
122}
124
125
126typedef struct
127tagProcessParamsTable
128{
129 struct tagProcessParamsTable *next;
135}
137
138
139typedef struct
140tagSearchSummaryTable
141{
142 struct tagSearchSummaryTable *next;
152}
154
155
156typedef struct
157tagSnglBurst
158{
159 struct tagSnglBurst *next;
175}
177
178
179typedef struct
180tagSnglInspiralTable
181{
182 struct tagSnglInspiralTable *next;
228 REAL4 Gamma[10]; /* metric co-efficients */
236}
238
239
240/**
241 * This structure contains the required information for generating a ringdown
242 * template and storing ringdown triggers. The fields are:
243 * <dl>
244 * <dt>ifo</dt><dd> The interferometer in which the trigger is found.</dd>
245 * <dt>channel</dt><dd> The interferometer channel in which the ringdown is
246 * found.</dd>
247 * <dt>start_time</dt><dd> The GPS start time of the ringdown trigger.</dd>
248 * <dt>frequency</dt><dd> The central frequency of the ringdown waveform
249 * (in Hz).</dd>
250 * <dt>quality</dt><dd> The quality factor \f$Q\f$ of the ringdown waveform.</dd>
251 * <dt>phase</dt><dd> The initial phase of the ringdown in radians.
252 * Zero is a cosine-phase ringdown; \f$-\pi/2\f$ is a sine-phase ringdown.</dd>
253 * <dt>mass</dt><dd> The mass \f$M\f$ of the black hole (in solar
254 * masses, \f$M_\odot\f$).</dd>
255 * <dt>spin</dt><dd> The dimensionless spin parameter of the
256 * black hole \f${\hat{a}}\f$ where the spin is \f$S={\hat{a}}GM^2/c\f$ (\f$G\f$ is
257 * Newton constant and \f$c\f$ is the speed of light).</dd>
258 * <dt>epsilon</dt><dd> The fractional mass loss \f$\epsilon\f$
259 * of the initial black hole mass in ringdown radiation.</dd>
260 * <dt>amplitude</dt><dd> The peak strain amplitude \f$h_0\f$ of the waveform,
261 * given by
262 * \f{equation}{
263 * h_0=\sqrt{\frac{5}{2}\epsilon}\left(\frac{GM}{c^2 r}\right)
264 * Q^{-\frac{1}{2}} F(Q)^{-\frac{1}{2}} g(a)^{-\frac{1}{2}},
265 * \f}
266 * where \f$F(Q) = 1 + 7/(24 Q^2)\f$, \f$g(a) = 1 - 0.63(1-a)^{3/10}\f$ and \f$r\f$
267 * is the distance to the trigger.</dd>
268 * <dt>snr</dt><dd> The signal-to-noise ratio of the trigger.</dd>
269 * <dt>eff_dist</dt><dd> The effective distance to the trigger source in
270 * megaparsecs (Mpc).</dd>
271 * <dt>sigma_sq</dt><dd> The variance of the matched filter used to find the
272 * trigger.</dd>
273 * </dl>
274 *
275 */
276typedef struct
277tagSnglRingdownTable
278{
279 struct tagSnglRingdownTable *next;
302}
304
305
306typedef struct
307tagMultiInspiralTable
308{
309 struct tagMultiInspiralTable *next;
414}
416
417
418typedef struct
419tagSimInspiralTable
420{
421 struct tagSimInspiralTable *next;
476}
478
479
480/**
481 * The \c SimBurst structure describes a burst injection.
482 */
483typedef struct
484tagSimBurst
485{
486 struct tagSimBurst *next;
488 char waveform[LIGOMETA_WAVEFORM_MAX];
503 unsigned long waveform_number;
506} SimBurst;
507
508
509/**
510 * This structure contains the required information for generating a ringdown
511 * injection. The fields are:
512 * <dl>
513 * <dt>waveform</dt><dd> Description of the type of waveform to inject.</dd>
514 * <dt>coordinates</dt><dd> Type of coordinate system to perform injection.</dd>
515 * <dt>geocent_start_time</dt><dd> The GPS start time of the waveform at the
516 * center of the earth.</dd>
517 * <dt>h_start_time</dt><dd> The GPS start time of the waveform at the
518 * LIGO Hanford Observatory.</dd>
519 * <dt>l_start_time</dt><dd> The GPS start time of the waveform at the
520 * LIGO Livingston Observatory.</dd>
521 * <dt>v_start_time</dt><dd> The GPS start time of the waveform at the
522 * Virgo Observatory.</dd>
523 * <dt>start_time_gmst</dt><dd> The start time of the waveform at the
524 * in siderial time.</dd>
525 * <dt>longitude</dt><dd> The longitude of the source defined in the
526 * stated coordinate system.</dd>
527 * <dt>latitude</dt><dd> The latitude of the source defined in the
528 * stated coordinate system.</dd>
529 * <dt>distance</dt><dd> The distance to the source defined in the
530 * stated coordinate system in megaparsecs (Mpc).</dd>
531 * <dt>inclination</dt><dd> The inclination angle \f$\iota\f$ of the source.</dd>
532 * <dt>polarization</dt><dd> The polarization angle \f$\Psi\f$ of the source.</dd>
533 * <dt>frequency</dt><dd> The central frequency of the ringdown waveform
534 * (in Hz).</dd>
535 * <dt>quality</dt><dd> The quality factor \f$Q\f$ of the ringdown waveform.</dd>
536 * <dt>phase</dt><dd> The initial phase of the ringdown signal \f$\phi_0\f$.</dd>
537 * <dt>mass</dt><dd> The mass \f$M\f$ of the black hole (in solar
538 * masses, \f$M_\odot\f$).</dd>
539 * <dt>spin</dt><dd> The dimensionless spin parameter of the
540 * black hole \f${\hat{a}}\f$ where the spin is \f$S={\hat{a}}GM^2/c\f$ (\f$G\f$ is
541 * Newton constant and \f$c\f$ is the speed of light).</dd>
542 * <dt>epsilon</dt><dd> The fractional mass loss \f$\epsilon\f$
543 * of the initial black hole mass in ringdown radiation.</dd>
544 * <dt>amplitude</dt><dd> The peak strain amplitude \f$h_0\f$ of the waveform,
545 * given by
546 * \f{equation}{
547 * h_0=\sqrt{\frac{5}{2}\epsilon}\left(\frac{GM}{c^2 r}\right)
548 * Q^{-\frac{1}{2}} F(Q)^{-\frac{1}{2}} g(a)^{-\frac{1}{2}},
549 * \f}
550 * where \f$F(Q) = 1 + 7/(24 Q^2)\f$, \f$g(a) = 1 - 0.63(1-a)^{3/10}\f$ and \f$r\f$
551 * is the distance to the trigger.</dd>
552 * <dt>h_eff_dist</dt><dd> The effective distance to the source from the
553 * LIGO Hanford Observatory in megaparsecs (Mpc).</dd>
554 * <dt>l_eff_dist</dt><dd> The effective distance to the source from the
555 * LIGO Livingston Observatory in megaparsecs (Mpc).</dd>
556 * <dt>v_eff_dist</dt><dd> The effective distance to the source from the
557 * Virgo Observatory in megaparsecs (Mpc).</dd>
558 * <dt>hrss</dt><dd> Define.</dd>
559 * <dt>hrss_h</dt><dd> Define.</dd>
560 * <dt>hrss_l</dt><dd> Define.</dd>
561 * <dt>hrss_v</dt><dd> Define.</dd>
562 * </dl>
563 */
564typedef struct
565tagSimRingdownTable
566{
567 struct tagSimRingdownTable *next;
595}
597
598
599typedef struct
600tagExtTriggerTable
601{
602 struct tagExtTriggerTable *next;
605 CHAR det_fluence[LIGOMETA_STD];
606 CHAR det_fluence_int[LIGOMETA_STD];
609 CHAR det_peak_int[LIGOMETA_STD];
614 CHAR event_epoch[LIGOMETA_STD];
615 CHAR event_err_type[LIGOMETA_STD];
620 CHAR event_type[LIGOMETA_STD];
623 CHAR notice_comments[LIGOMETA_STD];
624 CHAR notice_id[LIGOMETA_STD];
625 CHAR notice_sequence[LIGOMETA_STD];
627 CHAR notice_type[LIGOMETA_STD];
628 CHAR notice_url[LIGOMETA_STD];
640 CHAR event_number_grb[8];
643}
645
646
647/**
648 * This structure corresponds to one row of a time_slide table.
649 */
650typedef struct
651tagTimeSlide
652{
653 struct tagTimeSlide *next;
658}
660
661typedef struct
662tagSegmentTable
663{
664 struct tagSegmentTable *next;
672}
674
675
676typedef struct
677tagTimeSlideSegmentMapTable
678{
679 struct tagTimeSlideSegmentMapTable *next;
682}
684
685
686#if 0
687{ /* so that editors will match succeeding brace */
688#elif defined(__cplusplus)
689}
690#endif
691
692#endif /* _LIGOMETADATATABLES_H */
const char * program
#define LIGOMETA_STD
#define LIGOMETA_IFOS_MAX
#define LIGOMETA_STRING_MAX
#define LIGOMETA_SEARCH_MAX
#define LIGOMETA_INSPIRALTAPER_MAX
#define LIGOMETA_COMMENT_MAX
#define LIGOMETA_USERNAME_MAX
#define LIGOMETA_CVS_REPOSITORY_MAX
#define LIGOMETA_TYPE_MAX
#define LIGOMETA_NODE_MAX
#define LIGOMETA_WAVEFORM_MAX
#define LIGOMETA_CHANNEL_MAX
#define LIGOMETA_VERSION_MAX
#define LIGOMETA_PROGRAM_MAX
#define LIGOMETA_DOMAIN_MAX
#define LIGOMETA_COORDINATES_MAX
#define LIGOMETA_SOURCE_MAX
#define LIGOMETA_VALUE_MAX
#define LIGOMETA_PARAM_MAX
#define LIGOMETA_IFO_MAX
InterferometerNumber
The InterferometerNumber contains an enum type for describing the interferometer.
@ LAL_UNKNOWN_IFO
@ LAL_IFO_G1
@ LAL_NUM_IFO
@ LAL_IFO_H1
@ LAL_IFO_H2
@ LAL_IFO_T1
@ LAL_IFO_V1
@ LAL_IFO_L1
double REAL8
char CHAR
float complex COMPLEX8
int32_t INT4
float REAL4
string version
struct tagExtTriggerTable * next
struct tagMultiInspiralTable * next
struct tagProcessParamsTable * next
LIGOTimeGPS start_time
struct tagProcessTable * next
LIGOTimeGPS cvs_entry_time
LIGOTimeGPS end_time
struct tagSearchSummaryTable * next
LIGOTimeGPS end_time
LIGOTimeGPS start_time
struct tagSegmentTable * next
The SimBurst structure describes a burst injection.
struct tagSimBurst * next
LIGOTimeGPS time_geocent_gps
REAL8 pol_ellipse_angle
unsigned long waveform_number
REAL8 egw_over_rsquared
REAL8 time_geocent_gmst
LIGOTimeGPS geocent_end_time
struct tagSimInspiralTable * next
This structure contains the required information for generating a ringdown injection.
LIGOTimeGPS h_start_time
LIGOTimeGPS v_start_time
struct tagSimRingdownTable * next
LIGOTimeGPS geocent_start_time
LIGOTimeGPS l_start_time
LIGOTimeGPS start_time
LIGOTimeGPS peak_time
struct tagSnglBurst * next
struct tagSnglInspiralTable * next
This structure contains the required information for generating a ringdown template and storing ringd...
struct tagSnglRingdownTable * next
This structure corresponds to one row of a time_slide table.
struct tagTimeSlide * next
struct tagTimeSlideSegmentMapTable * next