00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _DETRESPONSE_SKYGRID_H
00026 #define _DETRESPONSE_SKYGRID_H
00027 #include <stdio.h>
00028 #include <stdlib.h>
00029 #include <string.h>
00030 #include <math.h>
00031 #include <errno.h>
00032 #include <lal/LALConfig.h>
00033 #include <lal/LALStdio.h>
00034 #include <lal/LALStdlib.h>
00035 #include <lal/LALConstants.h>
00036 #include <lal/LALDatatypes.h>
00037 #include <lal/Units.h>
00038
00039 #include <lal/AVFactories.h>
00040 #include <lal/SeqFactories.h>
00041 #include <lal/DetectorSite.h>
00042 #include <lal/TimeDelay.h>
00043 #include <lal/DetResponse.h>
00044 #include <lal/Velocity.h>
00045 #include <lal/Units.h>
00046 #include <lal/VectorOps.h>
00047 #include <lal/SkyCoordinates.h>
00048
00049 #include <lal/PrintFTSeries.h>
00050 #include <lal/StreamOutput.h>
00051
00052 #include "util.h"
00053 #include "cmdline.h"
00054
00055 #define DR_ANGULAR_OFFSET 0.005
00056 #define DR_TWOPI ((1. - DR_ANGULAR_OFFSET) * LAL_TWOPI)
00057
00058 extern struct gengetopt_args_info args_info;
00059
00060 typedef REAL8Array * skygrid_t;
00061
00062 void init_ephemeris(LALStatus *status, EphemerisData *ephemeris_data);
00063 void cleanup_ephemeris(LALStatus *status, EphemerisData *ephemeris_data);
00064 void init_skygrid(LALStatus *status);
00065 skygrid_t * alloc_skygrid(LALStatus *status, skygrid_t *g);
00066 void free_skygrid(LALStatus *status, skygrid_t *skygrid);
00067 void cleanup_skygrid(LALStatus *status);
00068 REAL8 skygrid_avg(LALStatus *status, const skygrid_t response);
00069 void skygrid_square(LALStatus *status, skygrid_t square, const skygrid_t input);
00070 REAL8 skygrid_rms(LALStatus *status, const skygrid_t input);
00071 void skygrid_sqrt(LALStatus *status, skygrid_t result, const skygrid_t input);
00072 INT4 skygrid_copy(LALStatus *status, skygrid_t dest, const skygrid_t src);
00073 void skygrid_print(LALStatus *status, const LIGOTimeGPS * gps, const skygrid_t input,
00074 const char * filename);
00075 void skygrid_fabs(LALStatus *status, skygrid_t absgrid, const skygrid_t input);
00076 void skygrid_add(LALStatus *status, skygrid_t sum, const skygrid_t a, const skygrid_t b);
00077 void skygrid_subtract(LALStatus *status, skygrid_t sum, const skygrid_t a, const skygrid_t b);
00078 void skygrid_scalar_mult(LALStatus *status, skygrid_t result, const skygrid_t a, REAL8 b);
00079 void skygrid_zero(LALStatus *status, skygrid_t a);
00080
00081 void multiply_vectors(LALStatus *status, REAL4Vector * out,
00082 const REAL4Vector * a, const REAL4Vector * b);
00083
00084 #endif