GenerateInspiral.h

Go to the documentation of this file.
00001 /*
00002 *  Copyright (C) 2007 Drew Keppel, Duncan Brown, Gareth Jones, Peter Shawhan, Thomas Cokelaer
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 #if 0
00021 <lalVerbatim file="GenerateInspiralHV">
00022 Author: Cokelaer, T.
00023 $Id: GenerateInspiral.h,v 1.14 2007/06/08 14:41:46 bema Exp $
00024 </lalVerbatim>
00025 #endif
00026 
00027 #if 0
00028 <lalLaTeX>
00029 \section{Header \texttt{GenerateInspiral.h}}
00030 \label{s:GenerateInspiral.h}
00031 
00032 Header file for the inspiral injection interface code. The 
00033 code contained in GenerateInspiral.c is an interface between the 
00034 injection package and the inspiral package. More precisely, the 
00035 function GenerateInspiral.c is used within the FindChirpSimulation.c
00036 file of the FindChirp package in order to inject waveforms into real
00037 data. The injection is done through the inject package in order to 
00038 take into account the interferometer position, binary orientation ...
00039 
00040 GenerateInspiral has the capability of injecting both waveform designed 
00041 within the inspiral package (TaylorT1, T2, T3, PadeT1, EOB, and spinning 
00042 waveform) and the inject package (so-called PPN waveform).
00043 also a test code as well which allows to check the output of 
00044 code. It is called InjectionInterfaceTest.c
00045 
00046 \subsection*{Synopsis}
00047 \begin{verbatim}
00048 #include <lal/GenerateInspiral.h>
00049 \end{verbatim}
00050 </lalLaTeX>
00051 #endif
00052 
00053 #ifndef _GENERATEINSPIRAL_H
00054 #define _GENERATEINSPIRAL_H
00055 
00056 #include <lal/LALStdlib.h>
00057 #include <lal/LALInspiral.h>
00058 #include <lal/GeneratePPNInspiral.h>
00059  
00060 #include <lal/GenerateSpinOrbitCW.h>
00061 #include <lal/GenerateTaylorCW.h>
00062 #include <lal/LIGOMetadataTables.h>
00063 #include <lal/SeqFactories.h>
00064 
00065 #include <lal/Units.h>
00066 
00067 #ifdef  __cplusplus
00068 extern "C" {
00069 #pragma }
00070 #endif
00071 
00072 NRCSID( GENERATEINSPIRALH, 
00073     "$Id: GenerateInspiral.h,v 1.14 2007/06/08 14:41:46 bema Exp $" );
00074 
00075 #if 0
00076 <lalLaTeX>
00077 \subsection*{Error codes}
00078 </lalLaTeX>
00079 #endif 
00080 
00081 /* <lalErrTable> */
00082 #define GENERATEINSPIRALH_ENORM 0
00083 #define GENERATEINSPIRALH_ENULL 1
00084 #define GENERATEINSPIRALH_EDFDT 2
00085 #define GENERATEINSPIRALH_EZERO 3
00086 #define GENERATEINSPIRALH_MSGENORM "Normal exit"
00087 #define GENERATEINSPIRALH_MSGENULL "Null pointer"
00088 #define GENERATEINSPIRALH_MSGEDFDT "Waveform sampling interval is too large"
00089 #define GENERATEINSPIRALH_MSGEZERO "inclination zero for SpinTaylor waveform"
00090 /* </lalErrTable> */
00091 
00092 
00093 /* parameter for the EOB at 3PN. In principle, the three */
00094 /* following parameter should be set to zero.            */
00095 #define GENERATEINSPIRAL_ZETA2       0.
00096 #define GENERATEINSPIRAL_OMEGAS      0.
00097 #define GENERATEINSPIRAL_THETA       0.
00098 
00099 /* For the spinning case. might be changed later or include */
00100 /* in the injection itself                                  */
00101 #define GENERATEINSPIRAL_SOURCETHETA 1.
00102 #define GENERATEINSPIRAL_SOURCEPHI   2.
00103 
00104 /* Default low freqnecy cutoff for injections */
00105 #define GENERATEINSPIRAL_DEFAULT_FLOWER 40
00106 
00107 #if 0
00108 <lalLaTeX>
00109 \newpage\input{GenerateInspiralC}
00110 </lalLaTeX>
00111 #endif
00112 void 
00113 LALGenerateInspiral(
00114     LALStatus        *status,
00115     CoherentGW       *waveform,
00116     SimInspiralTable *params, 
00117     PPNParamStruc    *ppnParamsInputOutput 
00118     );
00119 
00120 
00121 /* three function to read the order and approximant from a string */
00122 void 
00123 LALGetOrderFromString(
00124     LALStatus   *status,
00125     CHAR        *message,
00126     Order       *result
00127     );
00128 
00129 void 
00130 LALGetApproximantFromString(
00131     LALStatus   *status,
00132     CHAR        *message,
00133     Approximant *result
00134     );
00135 
00136 /*  three function to populate the needed structures */
00137 void  
00138 LALGenerateInspiralPopulatePPN(
00139     LALStatus           *status,
00140     PPNParamStruc       *ppnParams,
00141     SimInspiralTable    *thisEvent
00142     );
00143 
00144 void 
00145 LALGenerateInspiralPopulateInspiral(
00146     LALStatus           *status,
00147     InspiralTemplate    *inspiralParams,
00148     SimInspiralTable    *thisEvent,
00149     PPNParamStruc       *ppnParams
00150     );
00151 
00152 
00153 #ifdef  __cplusplus
00154 #pragma {
00155 }
00156 #endif
00157 
00158 #endif /* _GENERATEINSPIRAL_H */

Generated on Mon Sep 8 03:06:48 2008 for LAL by  doxygen 1.5.2