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 #ifndef _CFS_H 00021 #define _CFS_H 00022 00023 #include <unistd.h> 00024 #include <sys/types.h> 00025 #include <fcntl.h> 00026 #include <stdio.h> 00027 #include <string.h> 00028 #include <stdlib.h> 00029 #include <math.h> 00030 #include <time.h> 00031 #include <errno.h> 00032 #include <lal/AVFactories.h> 00033 #include <lal/ComputeSky.h> 00034 #include <lal/ComputeSkyBinary.h> 00035 #include <lal/LALDatatypes.h> 00036 #include <lal/LALDemod.h> 00037 #include <lal/LALBarycenter.h> 00038 #include <lal/LALInitBarycenter.h> 00039 #include <lal/Date.h> 00040 00041 #ifndef NOGLOB 00042 #include <glob.h> 00043 #endif 00044 #define BUFFERSIZE 1024 00045 00046 /* Maximum fractional doppler shift */ /* BINARY-MOD - Need to sort this */ 00047 #define DOPPLERMAX 1.e-4 00048 00049 /* (Half the ) number of terms to keep in the Dirichlet kernel sum */ 00050 #define NTERMS 32 00051 00052 #define MAXFILES 40000 /* Maximum # of files in a directory */ 00053 #define MAXFILENAMELENGTH 256 /* Maximum # of characters of a SFT filename */ 00054 00055 /* The command line arguments are not the actual search parameters that will be used, 00056 just the ones that the user requested. The actual parameters that 00057 will be used are computed as exact integers, which correspond as closely as 00058 possible to the users request, but are not the same. Don't use these variables! */ 00059 00060 00061 00062 /* 00063 *this structure holds all configuration-settings for the code, including the 00064 * user-input variables, but also derived ones 00065 */ 00066 typedef struct { 00067 CHAR EphemEarth[MAXFILENAMELENGTH]; 00068 CHAR EphemSun[MAXFILENAMELENGTH]; 00069 INT4 FreqImax; /* number of computed F values: F[0]....F[FreqImax-1] */ 00070 00071 INT4 SpinImax; 00072 INT4 ifmax; 00073 INT4 ifmin; 00074 00075 REAL8 dFreq; 00076 REAL8 tsft; 00077 INT4 SFTno; 00078 00079 INT4 nsamples; 00080 INT4 Ti; /* GPS seconds of first SFT */ 00081 INT4 Tf; /* GPS seconds of last SFT */ 00082 CHAR filelist[MAXFILES][MAXFILENAMELENGTH]; 00083 00084 LALDetector Detector; /* Our detector*/ 00085 EphemerisData *edat; /* ephemeris data */ 00086 00087 CHAR *skyRegion; /* sky-region (polygon) to search over */ 00088 } ConfigVariables; 00089 00090 struct headertag { 00091 REAL8 endian; 00092 INT4 gps_sec; 00093 INT4 gps_nsec; 00094 REAL8 tbase; 00095 INT4 firstfreqindex; 00096 INT4 nsamples; 00097 } header; 00098 00099 00100 00101 #endif
1.5.2