AstroOmega.h

Go to the documentation of this file.
00001 /*
00002 *  Copyright (C) 2007 Jolien Creighton, Robert Adam Mercer, Tania Regimbau
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 /*<lalVerbatim file="AstroOmegaHV">
00021 Author: Regimbau Tania
00022 $Id: AstroOmega.h,v 1.7 2007/06/08 14:41:54 bema Exp $
00023 </lalVerbatim> */
00024 
00025 /*<lalLaTeX>
00026 
00027 \section{Header \texttt{AstroOmega.h}}
00028 \label{s:AstroOmega.h}
00029 
00030 compute the energy density spectrum of stochastic backgrounds produced
00031 by cosmological population of astrophysical sources.
00032 
00033 \subsection*{Synopsis}
00034 \begin{verbatim}
00035 #include <lal/AstroOmega.h>
00036 \end{verbatim}
00037 </lalLaTeX> */
00038 
00039 #ifndef _ASTROOMEGA_H
00040 #define _ASTROOMEGA_H
00041 #include <stdio.h>
00042 #include <math.h>
00043 #include <lal/LALConfig.h>
00044 #include <lal/LALStdlib.h>
00045 #include <lal/Integrate.h>
00046 
00047 #ifdef __cplusplus
00048 extern "C" {
00049 #endif
00050 NRCSID (ASTROOMEGAH, "$Id: AstroOmega.h,v 1.7 2007/06/08 14:41:54 bema Exp $");
00051 
00052 /*<lalLaTeX>
00053 \subsection*{Error conditions}
00054 the errors that may occur in this module are integration errors already defined in Integrate.h  
00055 
00056 \subsection*{Structures}
00057 These are function pointers corresponding to the spectral energy density of a single source.
00058 \begin{verbatim}
00059 typedef void (REAL8LALSDensity) (REAL8 *output, REAL8 input);
00060 \end{verbatim}
00061 These are input structures corresponding to the model parameters (the cosmological model parameters and the source model parameters)
00062 
00063 cosmological model parameters:
00064 
00065 \begin{verbatim}
00066 typedef struct
00067 tagAstroOmegaCosmoParams
00068  {
00069    REAL8   ho; Hubble parameter
00070    REAL8   density_matter; density parameter of matter
00071    REAL8   density_vacuum; density parameter of vacuum
00072    REAL8   density_k; density parameter of curvature
00073  }
00074 AstroOmegaCosmoParams;
00075 \end{verbatim}
00076 
00077 source parameters
00078 
00079 \begin{verbatim}
00080 typedef struct
00081 tagAstroOmegaSourceParams
00082  { 
00083    REAL8LALSDensity   *SDensitySource; single spectral energy density
00084    REAL8              numax; frequency cutoff in the source frame
00085    REAL8              lambda; mass fraction of source progenitors expressed in inverse solar masses.
00086  }
00087 AstroOmegaSourceParams;
00088 \end{verbatim}
00089 
00090 model parameters (cosmological + source)
00091 
00092 \begin{verbatim}
00093 typedef struct
00094 tagAstroOmegaParams
00095  {
00096    AstroOmegaCosmoParams          cosmoparams;
00097    AstroOmegaSourceParams         sourceparams;
00098    void                           *extraparams;  
00099  }
00100 AstroOmegaParams;
00101 \end{verbatim}
00102 
00103 \vfill{\footnotesize\input{AstroOmegaHV}}
00104 \newpage\input{AstroOmegaC}
00105 </lalLaTeX> */
00106 
00107 /*type corresponding to the spectral energy density of a single source*/
00108 typedef void (REAL8LALSDensity) (REAL8 *output, REAL8 input);
00109 
00110 /*MODEL PARAMETERS*/
00111 
00112 /*cosmological model*/
00113 typedef struct
00114 tagAstroOmegaCosmoParams
00115  {
00116    REAL8   ho;
00117    REAL8   density_matter;
00118    REAL8   density_vacuum;
00119    REAL8   density_k;
00120  }
00121 AstroOmegaCosmoParams;
00122 /*source model*/
00123 /*in the general case, the user should define previously the single spectral energy density*/
00124 typedef struct
00125 tagAstroOmegaSourceParams
00126  { 
00127    REAL8LALSDensity   *SDensitySource;
00128    REAL8              numax;
00129    REAL8              lambda;
00130  }
00131 AstroOmegaSourceParams;
00132 
00133 
00134 typedef struct
00135 tagAstroOmegaParams
00136  {
00137    AstroOmegaCosmoParams          cosmoparams;
00138    AstroOmegaSourceParams         sourceparams;
00139    void                           *extraparams;  
00140  }
00141 AstroOmegaParams;
00142 
00143 
00144 
00145 /*functions returning $\Omega _{gw}(\nu _{o})$*/
00146 
00147 void
00148 LALAstroOmega (
00149     LALStatus    *status,
00150     REAL8        *result,
00151     REAL8         nu,
00152     void         *params
00153     );
00154 
00155 
00156 
00157 #ifdef __cplusplus
00158 }
00159 #endif
00160 
00161 #endif /* _ASTROOMEGA_H */

Generated on Tue Oct 7 02:39:20 2008 for LAL by  doxygen 1.5.2