Routines to write LIGO metadata database structures to LIGO lightweight XML files. More...
Prototypes | |
| void | LALOpenLIGOLwXMLFile (LALStatus *status, LIGOLwXMLStream *xml, const CHAR *path) |
| void | LALCloseLIGOLwXMLFile (LALStatus *status, LIGOLwXMLStream *xml) |
| void | LALBeginLIGOLwXMLTable (LALStatus *status, LIGOLwXMLStream *xml, MetadataTableType table) |
| void | LALEndLIGOLwXMLTable (LALStatus *status, LIGOLwXMLStream *xml) |
| void | LALWriteLIGOLwXMLTable (LALStatus *status, LIGOLwXMLStream *xml, MetadataTable tablePtr, MetadataTableType table) |
Routines to write LIGO metadata database structures to LIGO lightweight XML files.
The routine LALOpenLIGOLwXMLFile
The routine LALCloseLIGOLwXMLFile prints the standard LIGO lightweight XML footer, LIGOLW_XML_FOOTER given in LIGOLwXMLHeaders.h, and closes the file stream pointed to by xml->fp.
The routine LALBeginLIGOLwXMLTable prints the table header. The type of table to begin is specified by the table argument. The appropriate headers are again contained in LIGOLwXMLHeaders.h and contain the table name as well as the names and data types of each of the columns in the table. In addition, it sets xml->first to 1 and xml->table to the requested table.
The routine LALEndLIGOLwXMLTable prints the table footer. This is the same for all tables, and given by LIGOLW_XML_TABLE_FOOTER in LIGOLwXMLHeaders.h. Additionally, xml->table is set to no_table.
The routine LALWriteLIGOLwXMLTable writes the content of the xml table. The type of table to be written is specified by table. The contents of the table should be stored as a linked list in tablePtr->table. The data is written using the row format for the specified table given in LIGOLwXMLHeaders.h.
None.
fopen() XLALFilePrintf() fclose()
In order to change a table definition in LAL, changes must be made in several places. It is necessary to update the structure which is used to store the information in memory as well as the reading and writing codes. Below is a list of all the files which must be updated.
Update the LAL table definition in LIGOMetadataTables.h
Update the LIGOLwXML writing code:
Change the table header written at to the LIGOLwXML file. This is #defined in LIGOLwXMLHeaders.h. For example, to change the sngl_inspiral table, you must edit LIGOLW_XML_SNGL_INSPIRAL.
Change the row format of the LIGOLwXML file. This is #defined in LIGOLwXMLHeaders.h. For example, to change the sngl_inspiral table, you must edit SNGL_INSPIRAL_ROW.
Add/remove columns from the table directory of the table in question. This is contained in LIGOLwXMLRead.c, either in LALCreateMetaTableDir or in the specific reading function.
Definition in file LIGOLwXMLlegacy.c.
Go to the source code of this file.
Macros | |
| #define | PRINT_LIGOLW_XML_HEADER(fp) XLALFilePuts( LAL_LIGOLW_XML_HEADER, fp ) |
| #define | PRINT_LIGOLW_XML_FOOTER(fp) XLALFilePuts( LAL_LIGOLW_XML_FOOTER, fp ) |
| #define | PRINT_LIGOLW_XML_TABLE_FOOTER(fp) XLALFilePuts( "\n </Stream>\n </Table>\n", fp ) |
| #define | PRINT_LIGOLW_XML_PROCESS(fp) |
| #define | PROCESS_ROW " \"%s\",\"%s\",\"%s\",%d,\"%s\",%d,\"%s\",\"%s\",%d,%d,%d,%d,\"%s\",\"%s\",\"process:process_id:0\"" |
| #define | PRINT_LIGOLW_XML_PROCESS_PARAMS(fp) |
| #define | PROCESS_PARAMS_ROW " \"%s\",\"process:process_id:0\",\"%s\",\"%s\",\"%s\"" |
| #define | PRINT_LIGOLW_XML_SEARCH_SUMMARY(fp) |
| #define | SEARCH_SUMMARY_ROW " \"process:process_id:0\",\"standalone\",\"\",\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d" |
| #define | PRINT_LIGOLW_XML_SNGL_RINGDOWN(fp) |
| #define | SNGL_RINGDOWN_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%22.16e,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%22.16e,\"sngl_ringdown:event_id:%" LAL_UINT8_FORMAT "\"" |
| #define | PRINT_LIGOLW_XML_SIM_RINGDOWN(fp) |
| #define | SIM_RINGDOWN_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%22.16e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"sim_ringdown:simulation_id:%" LAL_UINT8_FORMAT "\"" |
| #define | PRINT_LIGOLW_XML_SNGL_INSPIRAL(fp) |
| #define | SNGL_INSPIRAL_ROW " \"process:process_id:%ld\",\"%s\",\"%s\",\"%s\",%d,%d,%22.16e,%d,%d,%22.16e,%22.16e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%d,%e,%d,%22.16e,%e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,\"sngl_inspiral:event_id:%ld\"" |
| #define | PRINT_LIGOLW_XML_MULTI_INSPIRAL(fp) |
| #define | MULTI_INSPIRAL_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%22.16e,%d,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%d,%e,%d,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"multi_inspiral:event_id:%" LAL_INT8_FORMAT "\",%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"time_slide:time_slide_id:%" LAL_INT8_FORMAT "\"" |
| #define | PRINT_LIGOLW_XML_SIM_INSPIRAL(fp) |
| #define | SIM_INSPIRAL_ROW " \"process:process_id:%ld\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%22.16e,\"%s\",%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%d,\"%s\",%d,\"%s\",%d,\"sim_inspiral:simulation_id:%ld\"" |
| #define | FIRST_TABLE_ROW |
Error Codes | |
| #define | LIGOLWXMLH_ENULL 1 |
| #define | LIGOLWXMLH_ENNUL 2 |
| #define | LIGOLWXMLH_EALOC 3 |
| #define | LIGOLWXMLH_EUTAB 4 |
| #define | LIGOLWXMLH_EOPEN 5 |
| #define | LIGOLWXMLH_ECLOS 6 |
| #define | LIGOLWXMLH_EBGNT 7 |
| #define | LIGOLWXMLH_ENTAB 8 |
| #define | LIGOLWXMLH_EENDT 8 |
| #define | LIGOLWXMLH_ETMSM 9 |
| #define | LIGOLWXMLH_ETNOP 10 |
| #define | LIGOLWXMLH_MSGENULL "Null pointer" |
| #define | LIGOLWXMLH_MSGENNUL "Non-null pointer" |
| #define | LIGOLWXMLH_MSGEALOC "Memory allocation error" |
| #define | LIGOLWXMLH_MSGEUTAB "Unknown metadata table type" |
| #define | LIGOLWXMLH_MSGEOPEN "Error opening XML file" |
| #define | LIGOLWXMLH_MSGECLOS "Closing an XML file with an open table" |
| #define | LIGOLWXMLH_MSGEBGNT "Begining a table without ending previous table" |
| #define | LIGOLWXMLH_MSGENTAB "No table type specified" |
| #define | LIGOLWXMLH_MSGEENDT "Ending a table without an beginning a table" |
| #define | LIGOLWXMLH_MSGETMSM "Table type mismatch" |
| #define | LIGOLWXMLH_MSGETNOP "Table not begun for writing" |
| #define LIGOLWXMLH_ENULL 1 |
Definition at line 116 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_ENNUL 2 |
Definition at line 117 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_EALOC 3 |
Definition at line 118 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_EUTAB 4 |
Definition at line 119 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_EOPEN 5 |
Definition at line 120 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_ECLOS 6 |
Definition at line 121 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_EBGNT 7 |
Definition at line 122 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_ENTAB 8 |
Definition at line 123 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_EENDT 8 |
Definition at line 124 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_ETMSM 9 |
Definition at line 125 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_ETNOP 10 |
Definition at line 126 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_MSGENULL "Null pointer" |
Definition at line 127 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_MSGENNUL "Non-null pointer" |
Definition at line 128 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_MSGEALOC "Memory allocation error" |
Definition at line 129 of file LIGOLwXMLlegacy.c.
Definition at line 130 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_MSGEOPEN "Error opening XML file" |
Definition at line 131 of file LIGOLwXMLlegacy.c.
Definition at line 132 of file LIGOLwXMLlegacy.c.
Definition at line 133 of file LIGOLwXMLlegacy.c.
Definition at line 134 of file LIGOLwXMLlegacy.c.
Definition at line 135 of file LIGOLwXMLlegacy.c.
Definition at line 136 of file LIGOLwXMLlegacy.c.
| #define LIGOLWXMLH_MSGETNOP "Table not begun for writing" |
Definition at line 137 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_HEADER | ( | fp | ) | XLALFilePuts( LAL_LIGOLW_XML_HEADER, fp ) |
Definition at line 140 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_FOOTER | ( | fp | ) | XLALFilePuts( LAL_LIGOLW_XML_FOOTER, fp ) |
Definition at line 141 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_TABLE_FOOTER | ( | fp | ) | XLALFilePuts( "\n </Stream>\n </Table>\n", fp ) |
Definition at line 142 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_PROCESS | ( | fp | ) |
Definition at line 144 of file LIGOLwXMLlegacy.c.
| #define PROCESS_ROW " \"%s\",\"%s\",\"%s\",%d,\"%s\",%d,\"%s\",\"%s\",%d,%d,%d,%d,\"%s\",\"%s\",\"process:process_id:0\"" |
Definition at line 163 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_PROCESS_PARAMS | ( | fp | ) |
Definition at line 166 of file LIGOLwXMLlegacy.c.
| #define PROCESS_PARAMS_ROW " \"%s\",\"process:process_id:0\",\"%s\",\"%s\",\"%s\"" |
Definition at line 175 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_SEARCH_SUMMARY | ( | fp | ) |
Definition at line 178 of file LIGOLwXMLlegacy.c.
| #define SEARCH_SUMMARY_ROW " \"process:process_id:0\",\"standalone\",\"\",\"%s\",\"%s\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d" |
Definition at line 198 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_SNGL_RINGDOWN | ( | fp | ) |
Definition at line 201 of file LIGOLwXMLlegacy.c.
| #define SNGL_RINGDOWN_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%22.16e,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%22.16e,\"sngl_ringdown:event_id:%" LAL_UINT8_FORMAT "\"" |
Definition at line 229 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_SIM_RINGDOWN | ( | fp | ) |
Definition at line 232 of file LIGOLwXMLlegacy.c.
| #define SIM_RINGDOWN_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%22.16e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"sim_ringdown:simulation_id:%" LAL_UINT8_FORMAT "\"" |
Definition at line 268 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_SNGL_INSPIRAL | ( | fp | ) |
Definition at line 271 of file LIGOLwXMLlegacy.c.
| #define SNGL_INSPIRAL_ROW " \"process:process_id:%ld\",\"%s\",\"%s\",\"%s\",%d,%d,%22.16e,%d,%d,%22.16e,%22.16e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%d,%e,%d,%22.16e,%e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,%.8e,\"sngl_inspiral:event_id:%ld\"" |
Definition at line 339 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_MULTI_INSPIRAL | ( | fp | ) |
Definition at line 342 of file LIGOLwXMLlegacy.c.
| #define MULTI_INSPIRAL_ROW " \"process:process_id:0\",\"%s\",\"%s\",%d,%d,%22.16e,%d,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%d,%e,%d,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"multi_inspiral:event_id:%" LAL_INT8_FORMAT "\",%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,\"time_slide:time_slide_id:%" LAL_INT8_FORMAT "\"" |
Definition at line 459 of file LIGOLwXMLlegacy.c.
| #define PRINT_LIGOLW_XML_SIM_INSPIRAL | ( | fp | ) |
Definition at line 462 of file LIGOLwXMLlegacy.c.
| #define SIM_INSPIRAL_ROW " \"process:process_id:%ld\",\"%s\",%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%22.16e,\"%s\",%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%d,%d,\"%s\",%d,\"%s\",%d,\"sim_inspiral:simulation_id:%ld\"" |
Definition at line 524 of file LIGOLwXMLlegacy.c.
| #define FIRST_TABLE_ROW |
Definition at line 651 of file LIGOLwXMLlegacy.c.
| void LALOpenLIGOLwXMLFile | ( | LALStatus * | status, |
| LIGOLwXMLStream * | xml, | ||
| const CHAR * | path | ||
| ) |
Definition at line 530 of file LIGOLwXMLlegacy.c.
| void LALCloseLIGOLwXMLFile | ( | LALStatus * | status, |
| LIGOLwXMLStream * | xml | ||
| ) |
Definition at line 557 of file LIGOLwXMLlegacy.c.
| void LALBeginLIGOLwXMLTable | ( | LALStatus * | status, |
| LIGOLwXMLStream * | xml, | ||
| MetadataTableType | table | ||
| ) |
Definition at line 587 of file LIGOLwXMLlegacy.c.
| void LALEndLIGOLwXMLTable | ( | LALStatus * | status, |
| LIGOLwXMLStream * | xml | ||
| ) |
Definition at line 636 of file LIGOLwXMLlegacy.c.
| void LALWriteLIGOLwXMLTable | ( | LALStatus * | status, |
| LIGOLwXMLStream * | xml, | ||
| MetadataTable | tablePtr, | ||
| MetadataTableType | table | ||
| ) |
Definition at line 662 of file LIGOLwXMLlegacy.c.