PyCos  1.x
Cosmology.h
Go to the documentation of this file.
00001 //
00002 // File:        Cosmology.h
00003 // Package:     C++ implementation of cosmology part for PyGL
00004 // Copyright:   the GNU General Public License
00005 // Description: Cosmology class and other routines supporting PyGL
00006 //
00007 
00008 
00009 class Cosmology {
00010 
00011         private:
00012                 double omega_m; 
00013                 double omega_x; 
00014                 double omega_k; 
00015                 double w_x; 
00016                 double h; 
00018         public:
00019 
00024                 Cosmology(double o_m=0.260, double omega_x=0.740, \
00025                 double omega_k=0.0, double w_x=-1.0, double h=0.72);
00029                 ~Cosmology();
00030 
00035                 double D_C(double z1, double z2);
00036 
00041                 double D_M(double z1, double z2);
00042 
00047                 double ang_dist(double z);
00048 
00053                 double ang_dist_z1_z2(double z1, double z2);
00054 
00059                 double lum_dist(double z);
00060 
00066                 double unit_comoving_volume(double z, void *params);
00067 
00072                 double comoving_volume_z1_z2(double z1, double z2);
00073 
00078                 double comoving_volume_0_z(double z);
00079 
00083                 double lookback_time(double z);
00084 
00088                 double age(double z);
00089 
00093                 double age_now(void);
00094 
00098     double conformal_time(double z);
00099 };
00100 
00101 double E_z(double x, void *params);
00102 double time_integral(double x, void *params);
00103 
00109 double schechter(double L, double phi_star, double alpha, double L_star);
00110 
00116 double number_schechter(double L, double phi_star, double alpha, double L_star);
00117 
00123 double total_number_schechter(double phi_star, double alpha);
00124 
00130 double luminosity_schechter(double L, double phi_star, double alpha, double L_star);
00131 
00137 double total_luminosity_schechter(double phi_star, double alpha, double L_star);
00138 
00145 double double_schechter(double L, double phi_star1, double alpha1, \
00146 double L_star1, double phi_star2, double alpha2, double L_star2);
00147 
00153 double number_double_schechter(double L, double phi_star1, double alpha1, double L_star1, \
00154 double phi_star2, double alpha2, double L_star2);
00155 
00161 double luminosity_double_schechter(double L, double phi_star1, double alpha1, double L_star1, \
00162 double phi_star2, double alpha2, double L_star2);
00163 
00169 double total_luminosity_double_schechter(double phi_star1, double alpha1, double L_star1, \
00170 double phi_star2, double alpha2, double L_star2);