00001 /* 00002 * Copyright (C) 2007 Chris Messenger 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with with program; see the file COPYING. If not, write to the 00016 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00017 * MA 02111-1307 USA 00018 */ 00019 00020 #include <unistd.h> 00021 #include <sys/types.h> 00022 #include <fcntl.h> 00023 #include <stdio.h> 00024 #include <string.h> 00025 #include <stdlib.h> 00026 #include <math.h> 00027 #include <time.h> 00028 #include <errno.h> 00029 #include <unistd.h> 00030 #include <glob.h> 00031 #include <getopt.h> 00032 #include <lal/AVFactories.h> 00033 #include <lal/SeqFactories.h> 00034 #include <lal/LALDatatypes.h> 00035 #include <lal/Date.h> 00036 #include <lal/LALBarycenter.h> 00037 #include <lal/LALInitBarycenter.h> 00038 #include <lal/StackMetric.h> 00039 #include <lal/MatrixUtils.h> 00040 #include <lal/LALStdio.h> 00041 #include <lal/FileIO.h> 00042 #include <lal/LALStdlib.h> 00043 00044 #define MAXFILES 50000 00045 00046 typedef struct Cornertag { 00047 REAL8 x; 00048 REAL8 y; 00049 } Corner; 00050 00051 typedef struct Linetag { 00052 REAL8 minangle; 00053 REAL8 maxangle; 00054 REAL8 gradient; 00055 REAL8 intercept; 00056 } Line; 00057 00058 typedef struct Resulttag { 00059 REAL8 freq; 00060 REAL8 RA; 00061 REAL8 dec; 00062 REAL8 sma; 00063 REAL8 period; 00064 LIGOTimeGPS tp; 00065 REAL8 ecc; 00066 REAL8 argp; 00067 INT4 ncluster; 00068 REAL8 meantwoF; 00069 REAL8 stdtwoF; 00070 REAL8 twoF; 00071 } Result; 00072 00073 typedef struct Resultstag { 00074 INT4 Nresults; 00075 Result *result; 00076 } Results; 00077 00078 typedef struct Significancetag { 00079 REAL8 log10oneminusp_sig; 00080 REAL8 log10oneminuss_sig; 00081 REAL8 log10oneminusco_sig; 00082 } Significance; 00083 00084 typedef struct CoResultstag { 00085 INT4 Nresults; 00086 Result *primary_result; 00087 Result *secondary_result; 00088 Significance *significance; 00089 } CoResults; 00090 00091 typedef struct FreqMeshtag { 00092 BinaryMeshFileHeader p_header; 00093 BinaryMeshFileHeader s_header; 00094 REAL8 f_min; 00095 REAL8 f_max; 00096 REAL8 f_band; 00097 } FreqMesh; 00098 00099 typedef struct FreqMeshestag { 00100 INT4 Nheaders; 00101 FreqMesh *freqmesh; 00102 } FreqMeshes;
1.5.2