CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
Constants.h
Go to the documentation of this file.
1 /********************************************************************
2  * Copyright (C) 2010 by Federico Marulli *
3  * federico.marulli3@unibo.it *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public *
16  * License along with this program; if not, write to the Free *
17  * Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ********************************************************************/
20 
34 #ifndef __CONSTANTS__
35 #define __CONSTANTS__
36 
37 
38 namespace cbl {
39 
40 
48  namespace par {
49 
60  static const double yotta = 1.e24;
61 
63  static const double zetta = 1.e21;
64 
66  static const double exa = 1.e18;
67 
69  static const double peta = 1.e15;
70 
72  static const double tera = 1.e12;
73 
75  static const double giga = 1.e9;
76 
78  static const double mega = 1.e6;
79 
81  static const double kilo = 1.e3;
82 
84  static const double ecto = 1.e2;
85 
87  static const double deca = 10.;
88 
90  static const double deci = 1.e-1;
91 
93  static const double centi = 1.e-2;
94 
96  static const double milli = 1.e-3;
97 
99  static const double micro = 1.e-6;
100 
102  static const double nano = 1.e-9;
103 
105  static const double pico = 1.e-12;
106 
108  static const double femto = 1.e-15;
109 
111  static const double atto = 1.e-18;
112 
114  static const double zepto = 1.e-21;
115 
117  static const double yocto = 1.e-24;
118 
119 
121  static const char fINT[] = "%i";
122 
124  static const char fLONG[] = "%lli";
125 
127  static const char fDP0[] = "%1.0f";
128 
130  static const char fDP1[] = "%2.1f";
131 
133  static const char fDP2[] = "%3.2f";
134 
136  static const char fDP3[] = "%4.3f";
137 
139  static const char fDP4[] = "%5.4f";
140 
142  static const char fDP5[] = "%6.5f";
143 
145  static const char fDP6[] = "%7.6f";
146 
148  static const char fDP7[] = "%8.7f";
149 
151  static const char fDP8[] = "%9.8f";
152 
154  static const char fDP9[] = "%10.9f";
155 
157  static const char fDP10[] = "%11.10f";
158 
160  static const char ee3[] = "%4.3e";
161 
163  static const char ee4[] = "%5.4e";
164 
166  static const char ee5[] = "%6.5e";
167 
169  static const char ee6[] = "%7.6e";
170 
172  static const char ee7[] = "%8.7e";
173 
175  static const char ee8[] = "%9.8e";
176 
178  static const char ee9[] = "%10.9e";
179 
181  static const char ee10[] = "%11.10e";
182 
187  // ============================================================================================
188 
189 
199  static const double pi = 3.1415926535897932;
200 
202  static const double ee = 2.7182818284590452;
203 
208  // ============================================================================================
209 
210 
218  static const double hbar = 1.054571726e-34;
219 
221  static const double cc = 299792.458;
222 
224  static const double kB = 1.3806488e23;
225 
227  static const double sSB = 5.670373e-8;
228 
230  static const double el = 1.602176565e-19;
231 
233  static const double alpha = 7.2973525698e-3;
234 
236  static const double epsilon0 = 8.854187817e-12;
237 
239  static const double mu0 = 12.566370614e-7;
240 
242  static const double NAv = 6.02214129e23;
243 
245  static const double GN = 6.6738480e-11;
246 
248  static const double gn = 9.80665;
249 
251  static const double lP = 1.616199e-35;
252 
254  static const double MP = 2.17651e-8;
255 
257  static const double Msol = 1.98855e30;
258 
260  static const double me = 9.10938291e-31;
261 
263  static const double mn = 1.674927351e-27;
264 
266  static const double mp = 1.672621777e-27;
267 
269  static const double au = 149597870700;
270 
272  static const double pc = 3.0856775814671916e16;
273 
275  static const double TCMB = 2.72548;
276 
278  static const double yr = 31557600;
279 
284  // ============================================================================================
285 
286 
297  static const std::string col_default = "\033[0m";
298 
300  static const std::string col_red = "\033[0;31m";
301 
303  static const std::string col_bred = "\033[1;91m";
304 
306  static const std::string col_onred = "\033[41m";
307 
309  static const std::string col_green = "\033[0;32m";
310 
312  static const std::string col_blue = "\033[0;34m";
313 
315  static const std::string col_yellow = "\033[0;33m";
316 
318  static const std::string col_purple = "\033[0;35m";
319 
324  // ============================================================================================
325 
326 
336  static const std::string defaultString = "NULL";
337 
339  static const int defaultInt = std::numeric_limits<int>::min();
340 
342  static const long defaultLong = std::numeric_limits<long>::min();
343 
345  static const float defaultFloat = -std::numeric_limits<float>::max();
346 
348  static const double defaultDouble = -std::numeric_limits<double>::max();
349 
354  // ============================================================================================
355 
356 
366  static const std::string ErrorMsg = "\n" + col_onred +
367  " ================================== " + col_default + "\n" + col_onred +
368  " ===== CosmoBolognaLib error! ===== " + col_default + "\n" + col_onred +
369  " ================================== " + col_default + "\n\n";
370 
373  }
374 
375 }
376 
377 #endif
static const std::string col_green
green colour (used when printing something on the screen)
Definition: Constants.h:309
static const std::string col_red
red colour (used when printing something on the screen)
Definition: Constants.h:300
static const std::string col_default
default colour (used when printing something on the screen)
Definition: Constants.h:297
static const std::string col_yellow
yellow colour (used when printing something on the screen)
Definition: Constants.h:315
static const std::string col_onred
background red colour (used when printing something on the screen)
Definition: Constants.h:306
static const std::string col_bred
bold high intensty red colour (used when printing something on the screen)
Definition: Constants.h:303
static const std::string col_blue
blue colour (used when printing something on the screen)
Definition: Constants.h:312
static const std::string col_purple
purple colour (used when printing something on the screen)
Definition: Constants.h:318
static const char fDP6[]
conversion symbol for: double -> std::string
Definition: Constants.h:145
static const double mega
conversion factor
Definition: Constants.h:78
static const double yotta
conversion factor
Definition: Constants.h:60
static const double peta
conversion factor
Definition: Constants.h:69
static const char fDP0[]
conversion symbol for: double -> std::string
Definition: Constants.h:127
static const char fDP2[]
conversion symbol for: double -> std::string
Definition: Constants.h:133
static const char fDP4[]
conversion symbol for: double -> std::string
Definition: Constants.h:139
static const double deci
conversion factor
Definition: Constants.h:90
static const double deca
conversion factor
Definition: Constants.h:87
static const double yocto
conversion factor
Definition: Constants.h:117
static const char ee9[]
conversion symbol for: double -> std::string
Definition: Constants.h:178
static const char fDP1[]
conversion symbol for: double -> std::string
Definition: Constants.h:130
static const char fDP8[]
conversion symbol for: double -> std::string
Definition: Constants.h:151
static const char ee8[]
conversion symbol for: double -> std::string
Definition: Constants.h:175
static const char ee3[]
conversion symbol for: double -> std::string
Definition: Constants.h:160
static const char fDP3[]
conversion symbol for: double -> std::string
Definition: Constants.h:136
static const double giga
conversion factor
Definition: Constants.h:75
static const char ee10[]
conversion symbol for: double -> std::string
Definition: Constants.h:181
static const double ecto
conversion factor
Definition: Constants.h:84
static const double tera
conversion factor
Definition: Constants.h:72
static const char fDP5[]
conversion symbol for: double -> std::string
Definition: Constants.h:142
static const double milli
conversion factor
Definition: Constants.h:96
static const char ee4[]
conversion symbol for: double -> std::string
Definition: Constants.h:163
static const char ee5[]
conversion symbol for: double -> std::string
Definition: Constants.h:166
static const double centi
conversion factor
Definition: Constants.h:93
static const char fDP10[]
conversion symbol for: double -> std::string
Definition: Constants.h:157
static const char ee7[]
conversion symbol for: double -> std::string
Definition: Constants.h:172
static const char fINT[]
conversion symbol for: int -> std::string
Definition: Constants.h:121
static const double nano
conversion factor
Definition: Constants.h:102
static const double femto
conversion factor
Definition: Constants.h:108
static const char fDP7[]
conversion symbol for: double -> std::string
Definition: Constants.h:148
static const char fDP9[]
conversion symbol for: double -> std::string
Definition: Constants.h:154
static const double kilo
conversion factor
Definition: Constants.h:81
static const double zetta
conversion factor
Definition: Constants.h:63
static const double pico
conversion factor
Definition: Constants.h:105
static const double micro
conversion factor
Definition: Constants.h:99
static const double zepto
conversion factor
Definition: Constants.h:114
static const char fLONG[]
conversion symbol for: long -> std::string
Definition: Constants.h:124
static const double atto
conversion factor
Definition: Constants.h:111
static const char ee6[]
conversion symbol for: double -> std::string
Definition: Constants.h:169
static const double exa
conversion factor
Definition: Constants.h:66
static const std::string defaultString
default std::string value
Definition: Constants.h:336
static const long defaultLong
default long value
Definition: Constants.h:342
static const double defaultDouble
default double value
Definition: Constants.h:348
static const int defaultInt
default integer value
Definition: Constants.h:339
static const float defaultFloat
default float value
Definition: Constants.h:345
static const double pi
: the ratio of a circle's circumference to its diameter
Definition: Constants.h:199
static const double ee
e: the Euler's constant, defined as
Definition: Constants.h:202
static const std::string ErrorMsg
header of error messages for internal usage
Definition: Constants.h:366
static const double mn
: the mass of the neutron [kg]
Definition: Constants.h:263
static const double alpha
: the fine-structure constant
Definition: Constants.h:233
static const double epsilon0
: the electric constant (the value is exact) [F/m]
Definition: Constants.h:236
static const double kB
: the Boltzmann constant, the conversion factor relating temperature and energy [eV K-1]
Definition: Constants.h:224
static const double MP
: the Planck mass [kg]
Definition: Constants.h:254
static const double hbar
: the reduced Planck constant, the quantum of action [J s]
Definition: Constants.h:218
static const double sSB
: the Stefan-Boltzmann constant, the factor relating the emissive power of a black body to the fourth...
Definition: Constants.h:227
static const double pc
: the parsec, defined as 1au/1arc sec [m]
Definition: Constants.h:272
static const double GN
: the Newtonian constant of gravitation [m3 Kg-1 s-2]
Definition: Constants.h:245
static const double NAv
: the Avogadro constant [mol-1]
Definition: Constants.h:242
static const double cc
: the speed of light in vacuum (the value is exact) [km/sec]
Definition: Constants.h:221
static const double me
: the mass of the electron [kg]
Definition: Constants.h:260
static const double au
: the astronomical unit (the value is exact) [m]
Definition: Constants.h:269
static const double yr
: one year [s]
Definition: Constants.h:278
static const double Msol
: the solar mass [kg]
Definition: Constants.h:257
static const double el
: the electrical charge of the electron [C]
Definition: Constants.h:230
static const double gn
: the standard gravitational acceleration (the value is exact) [m s-2]
Definition: Constants.h:248
static const double mu0
: the magnetic constant (the value is exact) [N A-2]
Definition: Constants.h:239
static const double TCMB
: the present day CMB temperature [K]
Definition: Constants.h:275
static const double lP
: the Planck length [m]
Definition: Constants.h:251
static const double mp
: the mass of the proton [kg]
Definition: Constants.h:266
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38