28 #include <lal/SFTfileIO.h>
33 const char *SFT_filenames[] = {
35 "/path/to/H-1_H2_1800SFT-735627918-1800.sft",
37 "L-1_L1_1800SFT_S2-733467931-1800.sft",
39 "H-1887_H1_1800SFT-733467931-4622400.sft",
41 "G-1_G1_60SFT_S3hot-732465218-60.sft",
44 "H-1_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5-1257800000-1800.sft",
45 "H-1_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5-1257801800-1800.sft",
46 "H-1_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5-1257803600-1800.sft",
47 "H-1_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5-1257805400-1800.sft",
48 "H-1_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5-1257807200-1800.sft",
51 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0010Hz0W0008Hz0-1257800000-9000.sft",
52 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0018Hz0W0008Hz0-1257800000-9000.sft",
53 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0026Hz0W0008Hz0-1257800000-9000.sft",
54 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0034Hz0W0008Hz0-1257800000-9000.sft",
55 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0042Hz0W0008Hz0-1257800000-9000.sft",
56 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0050Hz0W0008Hz0-1257800000-9000.sft",
57 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0058Hz0W0008Hz0-1257800000-9000.sft",
58 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0066Hz0W0008Hz0-1257800000-9000.sft",
59 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0074Hz0W0008Hz0-1257800000-9000.sft",
60 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0082Hz0W0008Hz0-1257800000-9000.sft",
61 "H-5_H1_1800SFT_O2RUN+R1+CDCHCLEANSTRAINC02+WTKEY5_NBF0090Hz0W0005Hz900-1257800000-9000.sft",
63 "L-1_L1_1800SFT_old_style_SFT_name-1238239230-1800.sft",
64 "L-1_L1_1800SFT_NBF0010Hz0W0008Hz0_old_style_SFT_name-1238239230-1800.sft",
69 { .
path =
"/path/to", .numSFTs = 1, .detector =
"H2", .SFTtimebase = 1800, .gpsStart = 735627918, .SFTspan = 1800 },
71 { .numSFTs = 1, .detector =
"L1", .SFTtimebase = 1800, .privMisc =
"S2", .gpsStart = 733467931, .SFTspan = 1800 },
73 { .numSFTs = 1887, .detector =
"H1", .SFTtimebase = 1800, .gpsStart = 733467931, .SFTspan = 4622400 },
75 { .numSFTs = 1, .detector =
"G1", .SFTtimebase = 60, .privMisc =
"S3hot", .gpsStart = 732465218, .SFTspan = 60 },
78 .numSFTs = 1, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 1800,
79 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02"
82 .numSFTs = 1, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257801800, .SFTspan = 1800,
83 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02"
86 .numSFTs = 1, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257803600, .SFTspan = 1800,
87 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02"
90 .numSFTs = 1, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257805400, .SFTspan = 1800,
91 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02"
94 .numSFTs = 1, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257807200, .SFTspan = 1800,
95 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02"
99 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
100 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
101 .nbFirstBinFreq = 10, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
104 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
105 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
106 .nbFirstBinFreq = 18, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
109 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
110 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
111 .nbFirstBinFreq = 26, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
114 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
115 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
116 .nbFirstBinFreq = 34, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
119 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
120 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
121 .nbFirstBinFreq = 42, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
124 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
125 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
126 .nbFirstBinFreq = 50, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
129 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
130 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
131 .nbFirstBinFreq = 58, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
134 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
135 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
136 .nbFirstBinFreq = 66, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
139 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
140 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
141 .nbFirstBinFreq = 74, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
144 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
145 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
146 .nbFirstBinFreq = 82, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
149 .numSFTs = 5, .detector =
"H1", .SFTtimebase = 1800, .window_type =
"tukey", .window_param = 0.001, .gpsStart = 1257800000, .SFTspan = 9000,
150 .pubObsRun = 2, .pubObsKind =
"RUN", .pubRevision = 1, .pubChannel =
"H1:DCH-CLEAN_STRAIN_C02",
151 .nbFirstBinFreq = 90, .nbFirstBinRem = 0, .nbBinWidthFreq = 5, .nbBinWidthRem = 900
154 { .numSFTs = 1, .detector =
"L1", .SFTtimebase = 1800, .privMisc =
"oldstyleSFTname", .gpsStart = 1238239230, .SFTspan = 1800 },
156 .numSFTs = 1, .detector =
"L1", .SFTtimebase = 1800, .privMisc =
"oldstyleSFTname", .gpsStart = 1238239230, .SFTspan = 1800,
157 .nbFirstBinFreq = 10, .nbFirstBinRem = 0, .nbBinWidthFreq = 8, .nbBinWidthRem = 0
162 if ( strcmp( SFT_spec[
i].privMisc,
"oldstyleSFTname" ) != 0 ) {
186 const char *SFT_spec_pubChannel_stripped =
"DCHCLEANSTRAINC02";
void LALCheckMemoryLeaks(void)
char * XLALBuildSFTFilenameFromSpec(const SFTFilenameSpec *spec)
Build an SFT file name from the given specification.
int XLALParseSFTFilenameIntoSpec(SFTFilenameSpec *spec, const char *SFTpath)
Parse a SFT file path and return its specification.
#define XLAL_CHECK_MAIN(assertion,...)
Structure specifying an SFT file name, following the convention in .
UINT4 pubRevision
For public SFTs: revision number of SFT production.
UINT4 SFTtimebase
Timebase in seconds of the SFT; set by XLALWriteSFT[Vector]2StandardFile()
UINT4 SFTspan
Total time interval in seconds covered by SFT file; set by XLALWriteSFT[Vector]2StandardFile()
UINT4 nbBinWidthRem
For narrow-band SFTs: remainder of division of SFT bandwidth by SFT time base.
UINT4 gpsStart
GPS time in seconds at the beginning of the first SFT in the file; set by XLALWriteSFT[Vector]2Standa...
CHAR pubChannel[256]
For public SFTs: channel name of data used to make SFTs.
UINT4 nbBinWidthFreq
For narrow-band SFTs: SFT bandwidth divided by SFT time base, rounded down.
CHAR detector[3]
2-character detector prefix (e.g.
CHAR pubObsKind[4]
For public SFTs: kind of data ('RUN', 'AUX', 'SIM', 'DEV')
UINT4 nbFirstBinRem
For narrow-band SFTs: remainder of division of SFT first bin frequency by SFT time base.
UINT4 numSFTs
Number of SFTs in the file; set by XLALWriteSFT[Vector]2StandardFile()
UINT4 pubObsRun
For public SFTs: observing run number.
CHAR window_type[32]
window function applied to SFT
CHAR path[4096]
Path to the SFT file.
UINT4 nbFirstBinFreq
For narrow-band SFTs: SFT first bin frequency divided by SFT time base, rounded down.
REAL8 window_param
parameter of window function, if required
CHAR privMisc[256]
For private SFTs: miscellaneous description field.