Fast Methods for Cosmological Simulations
FastSim serves as a tool for quick N-body simulations in modified gravity.
ccl_redshifts.h
Go to the documentation of this file.
1 
3 #ifndef __CCL_LSST_SPECS_INCLUDED__
4 #define __CCL_LSST_SPECS_INCLUDED__
5 
6 #include <gsl/gsl_integration.h>
7 #include <gsl/gsl_spline.h>
8 
12 #define Z_MIN_SOURCES 0.
13 #define Z_MAX_SOURCES 5.0
14 
21 typedef struct {
22  double (* your_pz_func)(double, double, void *, int*); /*< Function returns the likelihood of measuring a z_ph
23  * (first double) given a z_spec (second double), with a pointer to additonal arguments and a status flag.*/
24  void * your_pz_params; /*< Additional parameters to be passed into your_pz_func */
25 } pz_info;
26 
32 typedef struct {
33  double (* your_dN_func)(double, void *, int*); /*< Function returns the differential number density of galaxies wrt redshifts,
34  * with a pointer to additonal arguments and a status flag.*/
35  void * your_dN_params; /*< Additional parameters to be passed into your_dN_func */
36 } dNdz_info;
37 
43  typedef struct{
44  double alpha;
45  double beta;
46  double z0;
47  } smail_params;
48 
61 void ccl_dNdz_tomog(double z, double bin_zmin, double bin_zmax, pz_info * photo_info, dNdz_info * dN_info, double *tomoout, int *status);
62 
70 dNdz_info* ccl_create_dNdz_info(void * params, double(*dNdz_func)(double,void*,int*));
71 
80  dNdz_info* ccl_create_Smail_dNdz_info(double alpha, double beta, double z0);
81 
82 
87 void ccl_free_dNdz_info(dNdz_info * dN_info);
88 
96 pz_info* ccl_create_photoz_info(void * params, double(*pz_func)(double, double,void*,int*));
97 
103 pz_info* ccl_create_gaussian_photoz_info(double sigma_z0);
104 
105 
110 void ccl_free_photoz_info(pz_info *my_photoz_info);
111 
113 
114 #endif
double double
Definition: precision.hpp:19
void * your_dN_params
Definition: ccl_redshifts.h:35
void * your_pz_params
Definition: ccl_redshifts.h:24
#define CCL_BEGIN_DECLS
Definition: ccl_defs.h:17
dNdz_info * ccl_create_dNdz_info(void *params, double(*dNdz_func)(double, void *, int *))
Definition: ccl_redshifts.c:94
dNdz_info * ccl_create_Smail_dNdz_info(double alpha, double beta, double z0)
static double beta[2][28][8]
Definition: ccl_emu17.c:32
pz_info * ccl_create_gaussian_photoz_info(double sigma_z0)
Definition: ccl_redshifts.c:67
dictionary params
Definition: halomod_bm.py:27
static double z[8]
pz_info * ccl_create_photoz_info(void *params, double(*pz_func)(double, double, void *, int *))
Definition: ccl_redshifts.c:21
void ccl_free_photoz_info(pz_info *my_photoz_info)
Definition: ccl_redshifts.c:84
void ccl_dNdz_tomog(double z, double bin_zmin, double bin_zmax, pz_info *photo_info, dNdz_info *dN_info, double *tomoout, int *status)
#define CCL_END_DECLS
Definition: ccl_defs.h:18
void ccl_free_dNdz_info(dNdz_info *dN_info)