utilities.h
Go to the documentation of this file.00001
00008 #ifndef _UTILITIES_H
00009 #define _UTILITIES_H
00010
00011 #include <iostream>
00012 #include <fstream>
00013 #include <cmath>
00014 #include <algorithm>
00015 #include <vector>
00016
00017 #include "constants.h"
00018
00023 extern "C" double dmspec_(double&, int&, double&, double[], int&, double[], int&);
00024
00031 namespace Utility {
00032
00033 const int dimDATA = 38;
00034 const int dimDATABe = 11;
00042 struct data {
00043 double E;
00044 double BC;
00045 double sigma_BC;
00046 double CO;
00047 double sigma_CO;
00048 double NO;
00049 double sigma_NO;
00050 double phi;
00051 int experiment;
00052 };
00053
00060 struct data_be {
00061 double E;
00062 double Be;
00063 double sigma_Be;
00064 double phi;
00065 int experiment ;
00066 };
00067
00074 struct chi2_struct{
00075 double all[3];
00076 int N_all;
00077 double HEAO3[3];
00078 int N_HEAO3;
00079 double CREAM[3];
00080 int N_CREAM;
00081 double ATIC[3];
00082 int N_ATIC;
00083 };
00084
00097 void solve_tridag(const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, std::vector<double>&);
00098
00117 void insert_data(int, double, double, double, double, double, double, double, double, int, Utility::data*);
00118
00133 void insert_data_be(int, double, double, double, double, int, Utility::data_be*);
00134
00145 void id_nuc(int, int&, int&);
00146
00153 double nH2_Gal(double,double);
00154
00161 double nHI_Gal(double,double);
00162
00169 double nHII_Gal(double,double);
00170
00179 double nHII_av(double, double,double,double);
00180
00189 double nH2_av(double, double,double,double);
00190
00199 double nHI_av(double, double,double,double);
00200
00201
00214
00215
00216
00217 };
00218
00219 #endif