criptic v1
Cosmic Ray Interstellar Propagation Tool using Itô Calculus
Loading...
Searching...
No Matches
Units.H
Go to the documentation of this file.
1
13#ifndef _UNITS_H_
14#define _UNITS_H_
15
16#include <gsl/gsl_const_cgsm.h>
17#include <gsl/gsl_const_mksa.h>
18#include "Types.H"
19#include "../Definitions.H"
20
21namespace criptic {
22
26 namespace units {
27
28#ifdef CRIPTIC_UNITS_CGS
29
30 // CGS units
31 static constexpr Real amu
32 = GSL_CONST_CGSM_UNIFIED_ATOMIC_MASS;
33 static constexpr Real eV
34 = GSL_CONST_CGSM_ELECTRON_VOLT;
35 static constexpr Real pc
36 = GSL_CONST_CGSM_PARSEC;
37 static constexpr Real lyr
38 = GSL_CONST_CGSM_LIGHT_YEAR;
39 static constexpr Real mb = 1e-27;
40 static constexpr Real cm = 1.0;
41 static constexpr Real m = 100.0;
42 static constexpr Real kg = 1000.0;
43 static constexpr Real g = 1.0;
45#elif defined(CRIPTIC_UNITS_MKS)
46
47 // MKS units
48 static constexpr Real amu
49 = GSL_CONST_MKSA_UNIFIED_ATOMIC_MASS;
50 static constexpr Real eV
51 = GSL_CONST_MKSA_ELECTRON_VOLT;
52 static constexpr Real pc
53 = GSL_CONST_MKSA_PARSEC;
54 static constexpr Real lyr
55 = GSL_CONST_MKSA_LIGHT_YEAR;
56 static constexpr Real mb = 1e-31;
57 static constexpr Real cm = 0.01;
58 static constexpr Real m = 1.0;
59 static constexpr Real kg = 1.0;
60 static constexpr Real g = 0.001;
62#endif
63
64 // Additional derived units
65 static constexpr Real keV = 1e3*eV;
66 static constexpr Real MeV = 1e6*eV;
67 static constexpr Real GeV = 1e9*eV;
68 static constexpr Real TeV = 1e12*eV;
69 static constexpr Real PeV = 1e15*eV;
70 static constexpr Real hr = 3600.0;
71 static constexpr Real day = 24.0 * hr;
72 static constexpr Real yr = 365.25 * day;
73 static constexpr Real kyr = 1e3*yr;
74 static constexpr Real Myr = 1e6*yr;
76 }
77}
78#endif
79// _UNITS_H_
80
Basic integer and real types.
static constexpr Real eV
Definition Units.H:34
static constexpr Real lyr
Definition Units.H:38
static constexpr Real cm
Definition Units.H:40
static constexpr Real PeV
Definition Units.H:69
static constexpr Real day
Definition Units.H:71
static constexpr Real kg
Definition Units.H:42
static constexpr Real yr
Definition Units.H:72
static constexpr Real TeV
Definition Units.H:68
static constexpr Real MeV
Definition Units.H:66
static constexpr Real hr
Definition Units.H:70
static constexpr Real keV
Definition Units.H:65
static constexpr Real kyr
Definition Units.H:73
static constexpr Real pc
Definition Units.H:36
static constexpr Real amu
Definition Units.H:32
static constexpr Real g
Definition Units.H:43
static constexpr Real m
Definition Units.H:41
static constexpr Real GeV
Definition Units.H:67
static constexpr Real mb
Definition Units.H:39
static constexpr Real Myr
Definition Units.H:74
The primary namespace for criptic objects.
Definition AdvancePacket.H:25
double Real
Definition Types.H:38