using namespace std; #include #include #include"SourcePopulation.h" #include"EGRET_catalogue.h" #include"CAT.h" #include"Sources.h" //AWS20081215 #include"pointing.h"// healpix class//AWS20090108 #include "fitsio.h" //AWS20120521 #include //AWS20090902 #include //AWS20100824 #include //AWS20100824 #include //AWS20100827 #include"slalib.h" //AWS20120612 #include "healpix_map.h" //AWS20170112 #include "healpix_map_fitsio.h" //AWS20170112 #include "pointing.h" //AWS20170112 int poisson(double x); int poisson(unsigned int initialize_seed); double power_law_sampler(double x_min, double x_max, double g); int power_law_sampler(unsigned int initialize_seed); //////////////////////////////////////////////////////////// int SourcePopulation::init() { cout<< "SourcePopulation::init"<100 MeV index break index break index"<> SourcePopulation::analyse_sample"<= +180.){long_min1a -=360.; long_max1a -=360.;} if(long_min2a >= +180.){long_min2a -=360.; long_max2a -=360.;} // more robust in marginal cases like 0.0-180.0, 180.0-360.0 but not correct AWS20120521 // if(long_max1a >= +180.){long_min1a -=360.; long_max1a -=360.;} //AWS20120521 // if(long_max2a >= +180.){long_min2a -=360.; long_max2a -=360.;} //AWS20120521 for (i=0;i (healpix_skymap_order, 1); //AWS20090107 healpix_skymap_sourcecnt_sublimit = Skymap (healpix_skymap_order, 1); //AWS20090107 healpix_skymap_sourcecnt_soplimit = Skymap (healpix_skymap_order, 1); //AWS20090107 healpix_skymap_intensity_spectrum = Skymap (healpix_skymap_order, n_E); //AWS20090107 healpix_skymap_intensity_spectrum_sublimit = Skymap (healpix_skymap_order, n_E); //AWS20090107 healpix_skymap_intensity_spectrum_soplimit = Skymap (healpix_skymap_order, n_E); //AWS20090107 healpix_skymap_intensity = Skymap (healpix_skymap_order, n_E_bin); //AWS20090107 healpix_skymap_intensity_sublimit = Skymap (healpix_skymap_order, n_E_bin); //AWS20090107 healpix_skymap_intensity_soplimit = Skymap (healpix_skymap_order, n_E_bin); //AWS20090107 healpix_skymap_sourcecnt = 0.; healpix_skymap_sourcecnt_sublimit = 0.; healpix_skymap_sourcecnt_soplimit = 0.; healpix_skymap_intensity = 0.; healpix_skymap_intensity_sublimit = 0.; healpix_skymap_intensity_soplimit = 0.; healpix_skymap_intensity_spectrum = 0.; //AWS20100818 healpix_skymap_intensity_spectrum_sublimit = 0.; //AWS20100818 healpix_skymap_intensity_spectrum_soplimit = 0.; //AWS20100818 // cout<<"testing ang2pix:"; // apointing = pointing(0.5,0.1); // cout< healpix_skymap_intensity_spectrum_sublimit_av(n_E) ; valarray healpix_skymap_intensity_spectrum_soplimit_av(n_E) ; healpix_skymap_intensity_spectrum_sublimit_av=0.; healpix_skymap_intensity_spectrum_soplimit_av=0.; for(ii=0;ii skymap_energy_spectrum_grid(n_E); for (int iE=0;iE skymap_energy_bins_E_low (n_E_bin); valarray skymap_energy_bins_E_high(n_E_bin); for (int iE_bin=0;iE_bin0) *txt_stream <<"ii="<S)= "<< dlnN_dlnS_int[ii] // <<" logN= " << log10(dlnN_dlnS[ii]+1e-10) <<" N(S) deg^-2 =" << dlnN_dlnS_deg [ii] <<" N(>S) deg^-2 =" << dlnN_dlnS_int_deg[ii] <<" F(S) = "<< FS [ii] <<" F(>S)= "<< FS_int[ii] <<" l_av="<< sample_l_av [ii] <<" b_av="<< sample_b_av [ii] <<" l_min="<< sample_l_min[ii] <<" l_max=" << sample_l_max[ii] <<" b_min="<< sample_b_min[ii] <<" b_max=" << sample_b_max[ii] < 100 MeV"< 1000 MeV"< 10000 MeV"<> SourcePopulation::gen_Fermi_catalogue_from_sample"<> SourcePopulation::read_sample_MSPs"<100 MeV to >1 GeV, provisional fix fitsfile *fptr; int status,colnum; int hdunum,hdutype,total_hdus; long nrows; char colname[100]; string MSPs_sample_file; MSPs_sample_file=string(directory)+string(filename); cout<<"reading from "<>inf // g0 g1 g2 // E1-------------E2 //0<<---------br0 // Ea----Eb Ea= E1; Eb=min(E2,br0); if(Eb>Ea) result0=A0*(pow(Ea,-g0+1)-pow(Eb,-g0+1))/(g0-1); if(verbose==1) //AWS20100817 *txt_stream<<"SourcePopulation::integratepowbr: Ea="<