constants.h

Go to the documentation of this file.
00001 
00009 #ifndef _CONSTANTS_H
00010 #define _CONSTANTS_H
00011 
00016 #define REAC
00017 
00022 #define CONVECTION
00023 
00024 
00025 #include "../config.h"
00026 
00027 #include <string>
00028 #include <cmath>
00029 
00030 // DM
00031 
00036 typedef enum {
00037   Decay, 
00038   Annihilation 
00039 } DMreaction;
00040 
00045 typedef enum {
00046   Delta, 
00047   DarkSUSY 
00048 } DMspectrum;
00049 
00054 typedef enum {
00055   ISO=0, 
00056   NFW=1, 
00057   Kra=2, 
00058   Moore=3, 
00059   Einasto=4 
00060 } DMprofile;
00061 
00066 typedef enum {
00067   BronfFerr, 
00068   NS, 
00069   Galprop 
00070 } GasType; 
00071 
00076 typedef enum {
00077   Galprop_, 
00078   Ferriere, 
00079   PointSource, 
00080   Ring 
00081 } SNRType; 
00082 
00087 typedef enum {
00088   Constant, 
00089   Exp, 
00090   Expr, 
00091   Radial, 
00092   ExpRadial 
00093 } DPerpType;
00094 
00099 typedef enum {
00100   GalpropXSec, 
00101   Webber03 
00102 } SpallXSec;
00103 
00108 typedef enum {
00109   GalpropTable, 
00110   Kamae 
00111 } LeptonYields;
00112 
00113 const DMreaction DMr = Annihilation; 
00114 const DMspectrum DMs = DarkSUSY; 
00115 const double rhos = 0.36;     
00116 const double EkDelta = 100.0; 
00117 const double small = 1e-45;
00118 
00119 const SpallXSec spallationxsec = GalpropXSec; 
00120 const LeptonYields ly = GalpropTable; 
00122 const bool fullstore = true; 
00123 const bool partialstore = true; 
00125 // Data files
00126 const std::string ISRFfile = "data/MilkyWay_DR0.5_DZ0.1_DPHI10_RMAX20_ZMAX5_galprop_format.fits.gz"; 
00127 const std::string ElTablefile = "data/Electron_production.dat"; 
00128 const std::string PosTablefile = "data/Positron_production.dat"; 
00129 const std::string Webber03Data = "data/webber_xsec.dat"; 
00130 const std::string Webber03DataTotal = "data/webber_xsec_total.dat"; 
00131 const std::string BNLdata = "data/bnl_data.dat"; 
00133 // Fundamental constants
00134 const double C         = 2.99792458e10 ; 
00135 const double h_planck  = 6.6260755e-27 ; 
00137 const double year      = 365.25*24.*3600. ;
00138 const double Myr       = 1e6*year ;
00139 const double kpc       = 3.08568e21 ;
00140 const double km        = 1e5 ;
00141 
00142 const double Clight    = C * Myr ; 
00144 const double mp        = .938 ; //272029          ; /**< [GeV] Proton mass. */
00145 const double Pi        = 3.14159265358979312 ;
00146 const double eV_to_erg = 1.60217733e-12 ;
00147 const double erg_to_eV = 1./eV_to_erg ;
00148 
00149 // Utils
00150 const double u                 = 1./200. ; 
00151 const double p                 = 3.0 ;     
00152 const int cross_section_option = 12 ; 
00153 const double t_half_limit      = 1.e4 ; 
00155 // Algorithm
00156 const int Nrept       = 20 ; 
00157 const double dtfactor = 0.25 ; 
00158 const double dtmin    = 1e-6 ; 
00159 const double dtmax    = 1e3 ; 
00161 const bool ADI = false; 
00162 const bool OpSplit = true; 
00163 const double tol = 3e-4; 
00164 const double alpha = 0.09; 
00166 // Galactic Magnetic Field
00167 const double rB        = 10. ; 
00168 const double zr        = 2.0 ; 
00169 const double Bh        = 5. ; 
00170 const double D_ref_rig = 3. ; 
00171 const double rd        = 2. ; 
00172 const double r0        = 2. ; 
00173 const double dzzGal    = 0.01 ; 
00174 const int diff_reacc   = 1 ; 
00176 // Galaxy properties
00177 const double  robs      = 8.5 ; 
00178 const double  zobs      = 0. ; 
00179 const double  Rmin      = 0. ; 
00180 const double  Rmax      = 20. ; 
00181 const GasType gas_model = Galprop ; 
00182 const SNRType SNR_model = Ferriere ; 
00183 const double  ringmin   = 3. ; 
00184 const double  ringmax   = 4. ; 
00185 const double  He_abundance = 0.11 ;
00187 // Energy losses
00188 const double ALPHAf = 1.0/137.035989561; 
00189 const double Mele = 0.5109990615;         
00190 const double MeleGeV = 1e-3*Mele;         
00191 const double Rele = 2.8179409238e-13;      
00192 const double H2PiC   = 0.19732705359e-10; 
00193 const double PIR0H2C2  = Pi*Rele*H2PiC*H2PiC;           
00194 const double PIR02MC2C = Pi*Rele*Rele*C*(Mele*1.e6);    
00195 const double PIR02C    = Pi*Rele*Rele*C;                
00196 const double AFR02MC2C = ALPHAf*Rele*Rele*C*(Mele*1.e6); 
00198 const double EiH = 13.6e-6;   
00199 const double EiHe = 24.59e-6;  
00200 const double TH = 62.8;    
00201 const double THe = 93.1;   
00203 const double ZHe = 2.; 
00205 // Ionization
00206 const double EH = 19.e-6; 
00207 const double EHe= 44.e-6; 
00209 // Coulomb
00210 const double BK = 1.38066e-23/1.60218e-13;     
00211 const double Te = 1.0e4;                       
00212 const double bet_e = sqrt(2.*BK*Te/Mele); 
00213 const double xm = pow(pow(3.*sqrt(Pi)/4.,1./3.) *bet_e,3); 
00215 // Bremsstrahlung
00216 const double MH = 1.67e-24;                            
00217 const double MHe= 1.66e-24 *4.;                        
00218 const double gam1 = 100.; 
00219 const double gam2 = 800.; 
00221 const double sigmaT  = 6.6524e-25/(kpc*kpc) ; 
00223 // CR parameters
00224 const double sp_ref_rig_norm = 1.e2 ; 
00225 const double sp_ref_rig_el   = 33.20 ; 
00226 const double spect_norm      = 5.e-2 ; 
00227 const double spect_norm_el   = 4.2e-3 ; 
00229 // Parameter space
00230 const double Ekmax               = 3.e3 ; 
00231 const double Ekmin               = 0.01; 
00232 const double sp_ref_rig          = 9. ; 
00233 const double cutoff_rig          = 5.e3 ; 
00234 const double spect_ind_el_low    = 2.25 ; 
00235 const double spect_ind_el        = 2.25 ; 
00236 const double sp_ref_rig_break_el = 4. ; 
00237 const double ind_low_nucl = 2.75; 
00239 // Antiprotons
00240 const int antiproton_cs = 2 ; 
00241 const bool scaling = false ; 
00243 // Limits for the nuclear chain
00244 const int Zmax     = 14 ; 
00245 const int Zmin     = 1 ; 
00246 const bool prop_ap = false ; 
00247 const bool prop_el = false ; 
00248 const bool prop_extracomp = false;  
00250 // Source abundances (GALPROP-like)
00252 const double ab_pr   = 1.06e6;  // 1e5;
00253 const double ab_He3   = 9.033;   // 8511.;
00254 const double ab_He4   = 7.199e4;   // 8511.;
00255 const double ab_Li   = 0.;       // 1.12e-6;
00256 const double ab_Be9   = 0.;       // 2.4e-6;
00257 const double ab_Be10   = 0.;       // 2.4e-6;
00258 const double ab_B10    = 0.;       // 5.01e-5;
00259 const double ab_B11    = 0.;       // 5.01e-5;
00260 //const double ab_C    = 2819.;
00261 const double ab_C13  = 5.268e-07;
00262 const double ab_C14  = 0.0;
00263 //const double ab_N    = 182.8;    
00264 const double ab_N15  = 5.961e-5;      // 0.;
00265 const double ab_O    = 3822.;    // 3450.; //45.7*0.54;
00266 const double ab_O17  = 6.713e-7;      // 0.;
00267 const double ab_O18  = 1.286;      // 0.;
00268 const double ab_F19  = 2.664e-8;      // 0.0036;      
00269 const double ab_Ne20 = 312.5;    // 6.;
00270 const double ab_Ne21 = 0.003556;      // 0.;
00271 const double ab_Ne22 = 100.1;     // 0.91;
00272 const double ab_Na22 = 0.0;
00273 const double ab_Na23 = 22.84;     // 0.15;     
00274 const double ab_Mg24 = 658.1;    // 3.39;      
00275 const double ab_Mg25 = 82.5;     // 0.;
00276 const double ab_Mg26 = 104.7;     // 0.;
00277 const double ab_Al26 = 0.0;
00278 const double ab_Al27 = 76.42;     // 0.23;     
00279 const double ab_Si28 = 725.7 ;   // 3.23;      
00280 const double ab_Si29 = 35.02;     // 0.;
00281 const double ab_Si30 = 24.68;     // 0.;
00282 const double ab_Si32 = 24.68;     // 0.;
00283 const double ab_P31  = 7.28;     // 0.02;
00284 const double ab_S32  = 94.40;    // 1.38;     
00285 const double ab_S33  = 0.8;      // 0.;
00286 const double ab_S34  = 4.45;     // 0.;
00287 const double ab_S36  = 0.02;     // 0.;
00288 const double ab_Cl35 = 2.11;     // 0.03;      
00289 const double ab_Cl37 = 0.72;     // 0.;
00290 const double ab_Ar36 = 11.17;    // 0.15;      
00291 const double ab_Ar38 = 2.22;     // 0.;
00292 const double ab_K39  = 4.47;     // 0.01;   
00293 const double ab_Ca40 = 39.87;    // 0.2;
00294 const double ab_Ca42 = 0.28;     // 0.;
00295 const double ab_Ca44 = 0.93;     // 0.;
00296 const double ab_Ca48 = 0.09;     // 0.;
00297 const double ab_Sc45 = 0.121;    // .0001;     
00298 const double ab_Ti46 = 0.17;     // 0.;
00299 const double ab_Ti47 = 0.16;     // 0.;
00300 const double ab_Ti48 = 1.64;     // 0.008;
00301 const double ab_Ti49 = 0.124;    // 0.;
00302 const double ab_Ti50 = 0.12;     // 0.;
00303 const double ab_V51  = 0.0;      // 0.001;   
00304 const double ab_Cr50 = 0.72 ;    // 0.;     
00305 const double ab_Cr52 = 14.51;    // 0.04;
00306 const double ab_Cr53 = 1.69;     // 0.;
00307 const double ab_Cr54 = 0.43;     // 0.;
00308 const double ab_Mn55 = 16.15;    // 0.02;     
00309 const double ab_Fe54 = 38.00;    // 0.;     
00310 const double ab_Fe56 = 620.2;    // 2.82;
00311 const double ab_Fe57 = 15.07;    // 0.;
00312 const double ab_Fe58 = 2.31;     // 0.;
00313 const double ab_Co59 = 1.24;     // 0.008;    
00314 const double ab_Ni58 = 26.21;    // 0.12;    
00315 const double ab_Ni60 = 10.44;    // 0.05;
00316 const double ab_Ni61 = 0.48;     // 0.;
00317 const double ab_Ni62 = 1.51;     // 0.;
00318 const double ab_Ni64 = 0.46;     // 0.;
00319 
00321 const double spect_ind_pr = 2.75;
00322 const double spect_ind_He = 2.75;
00323 const double spect_ind_Be  = 2.75;
00324 const double spect_ind_B  = 2.75;
00325 const double spect_ind_C  = 2.75;
00326 const double spect_ind_N  = 2.75;
00327 const double spect_ind_O  = 2.75;
00328 const double spect_ind_F  = 2.75;
00329 const double spect_ind_Ne = 2.75;
00330 const double spect_ind_Na = 2.75;
00331 const double spect_ind_Mg = 2.75;
00332 const double spect_ind_Al = 2.75;
00333 const double spect_ind_Si = 2.75;
00334 const double spect_ind_P  = 2.75;
00335 const double spect_ind_S  = 2.75;
00336 const double spect_ind_Cl = 2.75;
00337 const double spect_ind_Ar = 2.75;
00338 const double spect_ind_K  = 2.75;
00339 const double spect_ind_Ca = 2.75;
00340 const double spect_ind_Sc = 2.75;
00341 const double spect_ind_Ti = 2.75;
00342 const double spect_ind_V  = 2.75;
00343 const double spect_ind_Cr = 2.75;
00344 const double spect_ind_Mn = 2.75;
00345 const double spect_ind_Fe = 2.75;
00346 const double spect_ind_Co = 2.75;
00347 const double spect_ind_Ni = 2.75;
00348 
00349 /*
00350 // Observed spectra at Earth (Wiebel-Sooth, Biermann...)
00351 const double spect_ind_pr = 2.77;
00352 const double spect_ind_He = 2.64;
00353 const double spect_ind_C = 2.66;
00354 const double spect_ind_N = 2.72;
00355 const double spect_ind_O = 2.68;
00356 const double spect_ind_F = 2.69;
00357 const double spect_ind_Ne = 2.64;
00358 const double spect_ind_Na = 2.66;
00359 const double spect_ind_Mg = 2.64;
00360 const double spect_ind_Al = 2.66;
00361 const double spect_ind_Si = 2.75;
00362 const double spect_ind_P = 2.69;
00363 const double spect_ind_S = 2.55;
00364 const double spect_ind_Cl = 2.68;
00365 const double spect_ind_Ar = 2.64;
00366 const double spect_ind_K = 2.65;
00367 const double spect_ind_Ca = 2.70;
00368 const double spect_ind_Sc = 2.64;
00369 const double spect_ind_Ti = 2.61;
00370 const double spect_ind_V = 2.63;
00371 const double spect_ind_Cr = 2.67;
00372 const double spect_ind_Mn = 2.46;
00373 const double spect_ind_Fe = 2.60;
00374 const double spect_ind_Co = 2.72;
00375 const double spect_ind_Ni = 2.751;
00376 */
00377 
00378 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator
Generated on Mon Sep 27 12:59:56 2010 for DRAGON by  doxygen 1.6.3